【问题标题】:What is the difference between <>() and <DataType>() in Java [duplicate]Java中的<>()和<DataType>()有什么区别[重复]
【发布时间】:2019-12-09 06:50:00
【问题描述】:

ArrayList&lt;String&gt; animals = new ArrayList&lt;&gt;()ArrayList&lt;String&gt; animals = new ArrayList&lt;String&gt;() 有什么区别?我很困惑。

【问题讨论】:

  • 第一个较短,因为可以自动推断类型。

标签: java generics arraylist


【解决方案1】:

两者实际上是相同的。 在 Java 5 中引入泛型时,我们不得不使用

ArrayList<String> animals = new ArrayList<String>();

当 Java 7 到来时,它提供的功能之一是支持更短的形式:

ArrayList<String> animals = new ArrayList<>();

因此,如果您使用的是 Java 7+,则可以同时使用两者(当然首选较短的形式)

【讨论】:

    【解决方案2】:

    没有区别,如果你使用java 1.6或更早的版本你应该这样写你的代码

    ArrayList<String> animals = new ArrayList<String>();
    

    但在 java 1.6 之后,它会推断类型,您可以只用菱形 &lt;&gt; 编写代码。

    ArrayList<String> animals = new ArrayList<>();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-04
      • 2013-02-12
      • 1970-01-01
      • 2012-08-28
      • 1970-01-01
      • 2017-02-17
      • 2011-09-27
      相关资源
      最近更新 更多