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<>();
我不明白为什么只有第三和第四种陈述有效。
第一个声明不起作用,因为LinkedList<LinkedList<Integer>>
不是List<List<Integer>>
。例如,通过声明,可以将ArrayList<Integer>
添加到List<List<Integer>>
(整数列表的列表(。但是,无法将ArrayList<Integer>
添加到LinkedList<LinkedList<Integer>>
(整数链表的链接列表(。
从new List
开始的第二次初始化不起作用,因为List
是一个接口,而不是一个类,所以不能用new
运算符初始化。