ArrayList兩個對象之間的賦值


List<String> list1 = new ArrayList<String>();
List<String> list2 = new ArrayList<String>();
list1 = list2;

這種方法只是將list2的地址賦值給了list1。也就是list1的地址指向了list2的地址,也就是兩個list相當於一個list,因為他們指向了同一個地址值。而原來的list1的原先對象會被垃圾回收機制回收掉。

正確的賦值方法是:

List <String> list1 = new ArrayList<String>();
//方法一:利用集合自帶的構造方法
List<String> list2= new ArrayList<String>(list1);
//方法二:利用克隆的方法進行賦值
List<String> list2 =(ArrayList<String>) list1.clone();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM