在使用Eclipse的Java中,您可以导入与导入内容相关的类和引用。但是,实际导入.java
文件顶部的类和使用直接路径到您要使用的类之间的区别是什么。
例如,在此代码段中,我导入java.util.HashMap
以使用HashMap
变量。
import java.util.HashMap;
public class Main {
private static HashMap<String, String> foo = new HashMap<String, String>();
public static void main(String[] args) {
foo.put("foo", "bar");
System.out.println(foo.get("foo"));
}
}
与此示例相比,我在声明我的java.util.HashMap
变量时使用了类中的直接HashMap
。
public class Main {
private static java.util.HashMap<String, String> foo = new java.util.HashMap<String, String>();
public static void main(String[] args) {
foo.put("foo", "bar");
System.out.println(foo.get("foo"));
}
}
当我导入类(第一个示例)时,与使用直接路径(第二个示例)相比,Java做了什么。另外,在优化和记忆意义上,客观比其他方式更好吗?
我将Java 8
与Eclipse
一起使用。
答案 0 :(得分:2)
与我相比,我在导入类(第一个示例)时做了什么 当我使用直接路径时(第二个例子)。
编译代码时,两者都被编译成相同的字节码(到完全限定的名称,即直接路径)。
在优化和记忆意义上,客观上比另一方更好吗?
不,因为两者都编译成相同的字节码,所以没有性能差异。
更新:正如@Carlos Heuberger在评论中所述,这可能是一个偏好问题。有时你需要输入完全限定的类名来避免类名冲突。