【问题标题】:What does <> mean for java generics?<> 对 java 泛型意味着什么?
【发布时间】:2011-12-28 19:13:19
【问题描述】:

我有一点代码:

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

IntelliJ 告诉我应该将 new ArrayList&lt;RCM&gt; 替换为 new ArrayList&lt;&gt; 这意味着什么?

【问题讨论】:

标签: java generics


【解决方案1】:

来自Java Tutorials generics lesson

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

Box&lt;Integer&gt; integerBox = new Box&lt;&gt;();

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-16
      • 2014-08-01
      • 2014-04-03
      • 1970-01-01
      • 1970-01-01
      • 2011-12-28
      • 2020-10-12
      • 2011-06-11
      相关资源
      最近更新 更多