Java泛型中的<>是什么意思?

41

我有一段代码:

class MyClass<RCM> 
  private List<RCM> allPreExistingConfigsForCodes() {
    if(this.allCodesForThisType.size() == 0)
       return new ArrayList<RCM>(0);

IntelliJ提示我应该使用new ArrayList<>代替new ArrayList<RCM>,这意味着什么?


与Java 7中的钻石操作符有何意义? - vikramvi
2个回答

52

来自Java Tutorials泛型课程:

在Java SE 7及更高版本中,只要编译器能够从上下文中推断出类型参数,就可以使用空的类型参数集(<>)代替调用泛型类构造函数所需的类型参数。这对尖括号<>被非正式地称为钻石操作符。例如,你可以使用以下语句创建一个Box<Integer>的实例:

Box<Integer> integerBox = new Box<>();


11

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接