List集合給另一個List集合賦值問題(既淺拷貝與深拷貝)

問題:java中將一個list的內容複製給另一個list之後,去新的list進行操作的時候,原來的list也會發生變化

解決方案:直接採用“=”進行的複製屬於淺層賦值,兩者指向的使用一個地址,所以操作一個時另一個也會發生變化。如果不想出現這樣的問題,建議採用深層賦值的方法.

解決方法:

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

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

 

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