创建<type>的新Arraylist与空类型的新Arraylist&lt;&gt;

时间:2016-07-06 08:18:56

标签: java arraylist

创建新的Arraylist与第一种方法 over 第二种方法之间的区别是什么? 创建一个时需要考虑什么?

  1. List<String> myList1 = new ArrayList<>();
  2. List<String> myList1 = new ArrayList<String>();

3 个答案:

答案 0 :(得分:3)

它们之间只有区别在于,第一个是使用在Java 7中引入的Diamond运算符。它不能在旧版本的java中使用。

答案 1 :(得分:1)

除了此代码合法的java版本之外没有区别:

List<String> myList1 = new ArrayList<>(); // works in Java 7+

List<String> myList1 = new ArrayList<String>(); // works in Java 5+

答案 2 :(得分:1)

您可以在此处找到答案:类型推断和通用类实例化部分中的https://docs.oracle.com/javase/tutorial/java/generics/genTypeInference.html 但我已经为你引用了它:

  

您可以替换调用构造函数所需的类型参数   具有一组空类型参数(&lt;&gt;)的泛型类的长度   因为编译器可以从上下文中推断出类型参数。这个   一对尖括号被非正式地称为钻石。 ...