这两段代码是等效的,并
ArrayList使用 类型 创建s (
myObject在您的示例中):
List<myObject> obj = new ArrayList<myObject>();List<myObject> obj = new ArrayList<>();
但是,第二个示例使用Java 7中引入的 菱形运算符 (
<>)。它添加了类型推断,并减少了赋值的冗长性。
请参阅文档中的以下引用:
您可以用一组空的类型参数(
<>)来替换调用通用类的构造函数所需的类型参数,只要编译器可以从上下文中推断出类型参数即可。这对尖括号被非正式地称为菱形。例如,考虑以下变量声明:
Map<String, List<String>> myMap = new HashMap<String, List<String>>();在Java SE 7中,可以用一组空的类型参数(
<>)代替构造函数的参数化类型:Map<String, List<String>> myMap = new HashMap<>();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)