什么<> java泛型的意思?

时间:2011-12-28 19:13:20

标签: java generics

我有一些代码:

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

IntelliJ告诉我应该用new ArrayList<RCM>替换new ArrayList<>这意味着什么?

2 个答案:

答案 0 :(得分:40)

来自Java Tutorials generics lesson

  

在Java SE 7及更高版本中,您可以替换所需的类型参数   使用一组空类型调用泛型类的构造函数   参数(<>),只要编译器可以确定或推断出   从上下文中键入参数。这对尖括号<>是   非正式地称为钻石。例如,您可以创建实例   Box<Integer>的{​​{1}}声明如下:

     

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

答案 1 :(得分:10)

您使用的是Java 7吗?如果是这样,它正试图利用新的“钻石符号”。

http://docs.oracle.com/javase/tutorial/java/generics/genTypeInference.html#type-inference-instantiation

相关问题