【问题标题】:Difference between following declarations in ArrayListArrayList 中以下声明之间的区别
【发布时间】:2014-08-11 06:43:47
【问题描述】:

以下声明有什么区别:

 ArrayList<Object>  arr=new ArrayList<Object>();

 ArrayList arr=new ArrayList();

如果我们在上述条件下使用add 方法或ArrayList 的任何其他方法会发生什么?它是如何工作的?

【问题讨论】:

  • 请看这个:docs.oracle.com/javase/tutorial/java/generics。它称为泛型,您可以在编译时指定可以通过的对象类型。 -1 因为作业没有完成。
  • @MarounMaroun 它不是泛型。就一行
  • @RuchiraGayanRanaweera 这是整个课程,OP 需要它。
  • @MarounMaroun 啊,好吧。你的观点

标签: java collections


【解决方案1】:
ArrayList<Object>  arr=new ArrayList<Object>(); // Object type 

ArrayList arr=new ArrayList(); // raw type

什么是row types

【讨论】:

    【解决方案2】:

    第一个使用Java Generics 告诉编译器列表将保存哪种类型的对象。 第二个只是没有指定这个,因此任何类型都是可能的,但在现代 IDE 中,IDE 会将这种用法标记为不是最好的方法。 第一个的优点是当你尝试在列表中输入错误的类型时,IDE/编译器可以告诉你。

    【讨论】:

      猜你喜欢
      • 2020-04-20
      • 1970-01-01
      • 2016-12-16
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      • 2016-04-20
      • 2011-09-20
      • 2020-06-07
      相关资源
      最近更新 更多