例如,当您在同一个文件的团队中工作时,只能部分了解导入代码所需的不同软件包。您更改了此文件中的某些代码,并发现某些代码因此而变得多余。您删除该部分,现在不知道整个代码是否仍依赖于所有包。
[当然,在很多方面都可以对物体进行客体化:速度,读取等等。]
答案 0 :(得分:6)
是。原因有两个:
由于这些原因,如果不需要import语句,并且IDE有办法自动删除未使用的导入,java将发出警告。
注意,我没有提到速度或性能变化,我认为javac非常聪明,知道不使用任何不需要的导入,所以编译后的类就像你没有导入它一样。 / p>
答案 1 :(得分:6)
您应该始终只使用必要的导入数量,并且不要使用完整的包导入,例如java.util.*
。今天的IDE通常会通过"组织进口"来支持这一点。删除未使用的导入的操作。
如果您有大量未使用的导入并修改了代码,则有可能添加/更改引用未使用的导入所涵盖的类的代码。然后你不会注意到你不小心使用了它们,即使这可能不是你的意图。
如果您只有最小的导入,如果添加引用新类的代码,编译器会立即通过显示错误通知您,并让您可以选择要使用的类。
此外,如果您使用的导入超出了程序中当前引用的导入,则会增加为将来的Java版本或您使用的库中断程序的机会。
示例:如果您的程序仅使用java.util.HashSet
,但仍然导入java.util.*
,并且您使用了导入com.mylib.*
的其他第三方库,那么您的代码可能会编译。如果在将来的版本中第三方库添加了一个名为com.mylib.HashSet
的类,那么您的代码可能不再编译,因为编译器可能无法告诉您要使用哪个类(例如{{1} }或java.util.HashSet
)
您是否仅导入了com.mylib.HashSet
,例如java.util.HashSet
首先,您的代码仍将使用新版本的第三方库进行编译。
答案 2 :(得分:1)
导入未使用的包不会影响您的速度,如here
所述然而......如果您导入了无用的包,它确实会使您的代码更难读。如果您使用的是NetBeans,则始终可以使用Ctrl + Shift + I删除未使用的导入。