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