在java.util。*和java.util.Scanner中,性能明智哪一个更好?

时间:2017-05-21 07:01:26

标签: java

java.util。*导入其下的所有类,而java.util.Scanner只导入Scanner类。 那么,它们之间的执行时间是否存在差异?

2 个答案:

答案 0 :(得分:1)

与C中的#include内容不同,Java中的import内容实际上并不复制内容,因此性能方面java.util.*java.util.Scanner实际上是相同的。

但是,从包导入所有内容可能会导致名称冲突。看看有多少个被称为Scanner的类:

enter image description here

如果您恰好从java.utilsun.tools.java导入了所有内容。编译器将无法推断出您所指的Scanner

答案 1 :(得分:0)

java.util。*将导入整个实用程序类,而java.util.Scanner将仅导入Scanner类。现在,您需要从用户那里获取输入,然后专门导入java.util.Scanner类。

导入特定类始终是最佳做法,因为导入整个包可能会让您感到困惑。 例如,java在两个不同的包中有2个Date类    1)java.util.Date    2)java.sql.Date

当我们使用' *'导入整个包裹时如果发生任何错误,我们就不会理解这个错误发生在哪个类中,这就是为什么根据需要导入特定类的最佳做法。

谢谢。 Rupesh R. Bharuka