我只是很好奇这是首选的编码方式,因为我看到代码都是用这两种方式编写的。
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();
那么,哪个是首选,为什么?有什么好处和优点两种方法的缺点?好奇。
答案 0 :(得分:5)
那么,哪个是首选,为什么?
首先应该首选。代码清晰度是最重要的问题。
有什么优点?两种方法的缺点?
好吧,编译器无论如何都要将第一种方法转换为后一种方法,将所有类和类型替换为完全限定名称。这两个代码都会导致相同的字节代码。因此,你真的不应该为这些东西烦恼。 (您可以通过运行javap
命令来检查字节代码)
使用完全限定名称的唯一原因是解决已导入的不同包中的名称冲突。例如,如果您同时导入java.util.*
和java.sql.*
,那么您需要使用Date
类的完全限定名称。
相关帖子:
答案 1 :(得分:3)
当您有多个具有相同简单名称的类时,会优先使用完全限定名称。
在所有其他情况下,优先和易于阅读方法将导入完全确认的名称并使用简单的类名称。
答案 2 :(得分:1)
可能是前者,因为后者看起来有点模糊。如果您使用在不同包中找到的多个类,则应该只使用后者(在类之前指定包名)。