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();//利用克隆的方法進行賦值。
 

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