List<List<Integer>> l = new LinkedList<LinkedList<Integer>>();
List<List<Integer>> l2 = new List<LinkedList<Integer>>();
List<List<Integer>> l3 = new LinkedList<List<Integer>();
List<List<Integer>> l4 = new LinkedList<>();
我无法理解为什么只有第三和第四个陈述有效。
答案 0 :(得分:3)
第一个声明不起作用,因为List<List<Integer>>
不是ArrayList<Integer>
。例如,通过声明,您可以将List<List<Integer>>
添加到ArrayList<Integer>
(整数列表列表)。但是,LinkedList<LinkedList<Integer>>
无法添加到new List
(整数链接列表的链接列表)。
以List
开头的第二次初始化无法正常工作,因为new
是一个接口,而不是一个类,因此无法使用1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 11, 13, 14, 15, 12
运算符进行初始化。