正在使用import some.directory.*性能更差?

Dea*_*ean 3 java

什么是更好的性能使用

import some.directory.*; 
Run Code Online (Sandbox Code Playgroud)

要么

 import some.directory.classNeeded;
Run Code Online (Sandbox Code Playgroud)

或者这不会对性能有任何改变,因为编译器会对类中未使用的库进行折扣吗?所以它是为了方便而实现的?

Avi*_*Avi 5

只有编译器才能看到import指令,以帮助它区分不同包中的名称.它根本不会改变生成的字节码.因此,性能应该没有区别.

有些人可能不愿意使用的原因

import some.directory.*;
Run Code Online (Sandbox Code Playgroud)

是因为它污染了具有未知类的命名空间,并且可能导致意外使用错误的类,即使通常这种情况发生的可能性非常小.

  • *的主要问题是:代码可能在几年之后停止编译.仅仅因为具有相同名称的类被添加到*-imported包中.这些包裹可能由其他人维护. (2认同)

duf*_*ymo 5

import语句完全没必要.如果您愿意,您可以像Java开发人员一样,不用写一个; 它只是意味着你将被迫为你的应用程序中的每个类输入完全限定的类名.

所有这些import都允许您在代码中使用短类名而不是完全限定名(例如,Connection而不是java.sql.Connection).

如果您的类有两个包含相同短类名的包,则必须始终输出它们以消除所有歧义(例如,java.sql.Datejava.util.Date).

不要import与课堂加载混淆.它根本不会影响运行时性能; 它只会影响你在开发时输入的键数.