代码1
List<Integer> l=new ArrayList<Integer>(); l.add(3); l.add(4); List<List<Integer>> ll=new ArrayList<List<Integer>>(); ll.add(l); System.out.println(ll); l.add(5); System.out.println(ll);
输出
[[3, 4]] [[3, 4, 5]]
原因
list修改后,list<list>中的对应的list元素也会被修改!!!
代码2
List<Integer> l=new ArrayList<Integer>(); l.add(3); l.add(4); List<List<Integer>> ll=new ArrayList<List<Integer>>(); ll.add(new ArrayList<Integer>(l)); System.out.println(ll); l.add(5); System.out.println(ll);
输出
[[3, 4]] [[3, 4]]