哪种编写代码更好?具体的构造函数或进口

时间:2013-08-31 19:29:06

标签: java object optimization import constructor

我只是很好奇这是首选的编码方式,因为我看到代码都是用这两种方式编写的。

import java.util.ArrayList;
import java.util.List;
 /**
 *Rest of code
 */
 List<Blah> blahs = new ArrayList();

import java.util.List;
 /**
 *Rest of code
 */
 List<Blah> blahs = new java.util.ArrayList();

那么,哪个是首选,为什么?有什么好处和优点两种方法的缺点?好奇。

3 个答案:

答案 0 :(得分:5)

  

那么,哪个是首选,为什么?

首先应该首选。代码清晰度是最重要的问题。

  

有什么优点?两种方法的缺点?

好吧,编译器无论如何都要将第一种方法转换为后一种方法,将所有类和类型替换为完全限定名称。这两个代码都会导致相同的字节代码。因此,你真的不应该为这些东西烦恼。 (您可以通过运行javap命令来检查字节代码)

使用完全限定名称的唯一原因是解决已导入的不同包中的名称冲突。例如,如果您同时导入java.util.*java.sql.*,那么您需要使用Date类的完全限定名称。

相关帖子:

答案 1 :(得分:3)

  • 当您有多个具有相同简单名称的类时,会优先使用完全限定名称。

  • 在所有其他情况下,优先易于阅读方法将导入完全确认的名称并使用简单的类名称。

答案 2 :(得分:1)

可能是前者,因为后者看起来有点模糊。如果您使用在不同包中找到的多个类,则应该只使用后者(在类之前指定包名)。