是否有任何技术原因可以优化进口"通过你的编辑? Eclipse,Intellij IDEA和NetBeans都有优化导入的方法。我想知道除了一致性之外是否还有其他原因。还有,有更优化的导入方式吗?我已经看到了个人和组织用于优化进口的不同标准。例如......
import java.util.Map;
import java.util.List;
import com.company.MyClassThatUsesMap;
如果我理解正确,在上面的示例中,类加载器将在Map
之前加载List
和MyClassThatUsesMap
类。这会为代码运行的速度增加任何好处,而不是下面的示例吗?
import com.company.MyClassThatUsesMap;
import java.util.List;
import java.util.Map;
这根本不重要,还是编译器完全修复了它?
答案 0 :(得分:10)
如果我理解正确,在上面的例子中,类加载器将在MyClassThatUsesMap之前加载Map和List类。
你不明白。导入有 nothing 与执行时处理有关。它们仅影响编译器如何将短名称(例如Map
)解析为完全限定的类/方法名称。
"优化"导入是为了提高可读性 - 而不是执行时性能。
答案 1 :(得分:0)
没有区别。它仅适用于开发人员的眼睛,尽管大多数IDE隐藏了导入,因为开发人员很少有兴趣看到它们。
答案 2 :(得分:0)
重新排列导入不会影响代码的性能。 Java编译器足够聪明。是的,你是对的,IDE是为了保持一致性和代码可读性/可维护性而做的。如果您想将java.util.Map;
与java.util.*;
进行比较,那么它们就是不同的故事。
答案 3 :(得分:0)
Here是官方文档。优化进口与速度无关。它是关于清理未使用的导入,并将类似的包分组在一起。这主要是为了便于阅读。
它可能会改变顺序,使它们按字母顺序或其他任意顺序排列。