导入包。* 与导入包。特定类型

2022-08-31 09:27:07

它是否假设编写一个导入加载一个包中的所有类型的开销有任何差异();而不仅仅是一个特定的类型(即)?第二种方法是否比另一种更可取的使用方式?import java.*import java.lang.ClassLoader


答案 1

看看java API,你会看到许多在不同的包中具有相同名称的类和接口。

例如:

java.lang.reflect.Array
java.sql.Array

因此,如果导入时,Array 类型将发生冲突,并且必须在代码中完全限定它们。java.lang.reflect.*java.sql.*

相反,导入特定类将为您省去这种麻烦。


答案 2

执行导入 .* 与导入特定类型没有性能或开销成本。但是,我认为永远不要使用导入是一种最佳实践。* 我这样做的主要原因是,我只是喜欢保持直截了当,干净,并且尽可能少地模糊不清,我认为使用.*导入你会失去这一点。