理解java的引用

 

ArrayList<ArrayList<Integer>> listArr = new ArrayList<ArrayList<Integer>>();
        ArrayList<Integer> list2 = new ArrayList<Integer>(); list2.add(2); list2.add(3); list2.add(4); list2.add(5); listArr.add(list2);//list2是指向一个ArrayList的引用 list2.add(6); list2.add(6); list2.add(6); listArr.add(list2); for(ArrayList<Integer> list3: listArr){ for(Integer num : list3){ System.out.print(num+" "); } System.out.println(""); }

输出结果:

2  3  4  5  6  6  6  
2  3  4  5  6  6  6  

list2是指向一个ArrayList的引用,虽然listArr中第一次添加list2时,list2中并没有666,但是
在之后,list中添加了,就会导致list2引用指向的内容发生改变。因此,不管listArr中第一次添加
list2的值还是第二次添加list2,他们的内容都是相同的。

 

posted @ 2018-04-15 15:32  Allen101  阅读(113)  评论(0)    收藏  举报