【问题标题】:Declaring ArrayLists: difference in Functionality? [duplicate]声明 ArrayLists:功能上的区别? [复制]
【发布时间】:2014-05-29 14:28:39
【问题描述】:

我很好奇,在声明ArrayLists的时候,这样做有什么区别:

List<String> arrayList1= new ArrayList<String>();

还有这个:

List<String> arrayList2= new ArrayList<>();

即没有两次声明&lt;String&gt;?

【问题讨论】:

  • 没有区别,第二个和第一个相等,但是Java 7以后才有可能。
  • 第二个只是码糖(称为菱形符号)

标签: java list arraylist


【解决方案1】:

唯一的区别是第一种形式与java 7之前的java版本兼容。

【讨论】:

    【解决方案2】:

    在以后的版本中,您也不需要 。例如

    List<String> arrayList2= new ArrayList();
    

    【讨论】:

    • 这不是一回事。在这里,您将原始类型分配给泛型变量,因此没有获得泛型提供的类型安全。
    • 有关原始类型的更多信息,请参阅优秀的 GenericsFAQ 的this section。
    猜你喜欢
    • 2015-06-08
    • 2012-08-28
    • 2012-02-01
    • 1970-01-01
    • 2016-05-08
    • 2011-01-10
    • 2022-01-16
    • 2011-11-09
    • 2013-02-03
    相关资源
    最近更新 更多