导入Java类与直接路径

时间:2018-01-24 00:12:27

标签: java eclipse class import

在使用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 8Eclipse一起使用。

1 个答案:

答案 0 :(得分:2)

  

与我相比,我在导入类(第一个示例)时做了什么   当我使用直接路径时(第二个例子)。

编译代码时,两者都被编译成相同的字节码(到完全限定的名称,即直接路径)。

  在优化和记忆意义上,

客观上比另一方更好吗?

不,因为两者都编译成相同的字节码,所以没有性能差异。

更新:正如@Carlos Heuberger在评论中所述,这可能是一个偏好问题。有时你需要输入完全限定的类名来避免类名冲突。