导入java.util.*和java.util.XXXX之间的差异

导入java.util.*和java.util.XXXX之间的差异,java,import,jvm,Java,Import,Jvm,可能重复: 我的QA负责人设置了一个checkstyle规则,java.util.*不能出现在源代码中,请改用java.util.XXX。例如,您只能编写: import java.util.Date; import java.util.List; import java.util.Collection; import java.util.Iterator; import java.util.Map; import java.util.Set; // ... may be thousands

可能重复:

我的QA负责人设置了一个checkstyle规则,
java.util.*
不能出现在源代码中,请改用
java.util.XXX
。例如,您只能编写:

import java.util.Date;
import java.util.List;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
// ... may be thousands import statement here 
但不允许:

import java.util.*;

如果任何人不遵守规则,QA团队将不会进行集成测试。他告诉我,
import java.util.XXX
的风格比
import java.util.*
更清晰,并且使JVM运行更快。这是真的吗?

如果您包括
java.util.*
,那么您就包括
java.util
包中的所有类

当包含
java.util.classname
时,您只在
java.util
包中包含指定的类


使用
java.util.*
不会降低JVM的速度,因为导入是在编译时处理的,而不是在运行时处理的。

如果包含
java.util.*
,则包含
java.util
包中的所有类

当包含
java.util.classname
时,您只在
java.util
包中包含指定的类


使用
java.util.*
不会减慢JVM的速度,因为导入是在编译时处理的,而不是在运行时。

这一点稍微清楚一些,但它肯定不会使JVM运行得更快(导入是在编译时解决的,而不是在运行时)。您的问号是惊人的…“使JVM运行得更快”这一部分不正确。它只影响编译器。通过运行时,类被单独和显式地标识。这稍微清晰一些,但它肯定不会使JVM运行得更快(导入是在编译时解决的,而不是在运行时)。您的问号是惊人的…“使JVM运行得更快”这部分是不正确的。它只影响编译器。通过运行时,类被单独和显式地标识。