创建新的Arraylist与第一种方法 over 第二种方法之间的区别是什么? 创建一个时需要考虑什么?
List<String> myList1 = new ArrayList<>();
List<String> myList1 = new ArrayList<String>();
答案 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;)的泛型类的长度 因为编译器可以从上下文中推断出类型参数。这个 一对尖括号被非正式地称为钻石。 ...