java 中Arraylist 赋值给另一个 ArrayList

ArrayList a = new ArrayList();
ArrayList b = new ArrayList();
b= a; // 错误做法

这样是不行的。

因为这样只是复制一个pointer。

b=a是将b的地址值指向a,而b原先的对象会被垃圾回收。但是在这里我想告诉你的是集合之间的复制方法:

正确做法为:

方法一:ArrayList<Integer>  b= new ArrayList<Integer>(a);//利用集合自带的构造方法
方法二:ArrayList<Integer> b =(ArrayList<Integer>) a.clone();//利用克隆的方法进行赋值。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章