我有一段代码:class MyClass<RCM> private List<RCM> allPreExistingConfigsForCodes() { if(this.allCodesForThisType.size() == 0) return new ArrayList<RCM>(0); IntelliJ提示我应该使用new ArrayList<>代替new ArrayList<RCM>,这意味着什么?
来自Java Tutorials泛型课程: 在Java SE 7及更高版本中,只要编译器能够从上下文中推断出类型参数,就可以使用空的类型参数集(<>)代替调用泛型类构造函数所需的类型参数。这对尖括号<>被非正式地称为钻石操作符。例如,你可以使用以下语句创建一个Box<Integer>的实例: Box<Integer> integerBox = new Box<>();
您正在使用Java 7吗?如果是的话,它正在尝试利用新的“钻石符号”。 http://docs.oracle.com/javase/tutorial/java/generics/genTypeInference.html#type-inference-instantiation