List重複填同物件之坑!!!

2021-10-24 18:03:30 字數 572 閱讀 4669

當我們想方便 在list 新增資料時候有時候 會將同一物件稍作修改 填入list中 **如下 錯誤案例:

for (ordervo ordervo : ordervolist)
測試環境執行結果不符合我寫的邏輯的時候 我debug除錯了一下,發現 後面對這個物件修改 對前面已經插入的物件 也會修改 !!!

為什麼會這樣呢 因為在這個list中指引的都是同一對像 如果對乙個修改 其他的也是會改變的 這是乙個坑 希望大家在插入list時 都是新的物件 這樣可以避免很多錯誤~

正確的寫法

//工具轉殖 第乙個引數是cope資料來源 ,第二個是新的物件目標 此方法方便快捷

beanutil.copyproperties(ordervo,ordervo2);

這裡導的是阿里的com.alibaba.fastjson; 這個也是copy物件的 至於是深轉殖 還是淺轉殖 筆者暫時未除錯 你們可以試試哈

json.parseobject(json.tojsonstring(t),cls);

//還有其他方法 感覺不太好用 比如 淺轉殖 深轉殖 需要對方法重寫 這裡暫不推薦咯~

list集合去除重複物件

物件重複是指物件裡面的變數的值都相等,並不定是位址。list集合儲存的型別是基礎型別還比較好辦,直接把list集合轉換成set集合就會自動去除。當set集合儲存的是物件型別時,就需要在物件的實體類裡面重寫public boolean equals object obj 和 public int ha...

填坑系列之更新CocoaPods

cocoapods的具體使用方法網上有很多,這裡不再贅述。在使用pod install安裝第三方庫時,可能會出現以下錯誤 出現這個問題是由於在swift3以後,很多框架需要在cocoapods1.1.0版本以上才能正常使用,因此我們需要更新cocoapods。終端輸入 curl l get.rvm....

PHP之foreach引用填坑

看到一篇文章描 就是它 述了php的乙個語法特點,用文本來描述就是如果對乙個陣列進行foreach引用遍歷過後在對這個陣列使用同樣的變數進行一次普通foreach遍歷會導致這個陣列的值發生變化。我這個描述可能還是不太清楚,直接上 可以看到在迴圈當中沒有任何 所以兩次列印出來的資料肯定應該是一模一樣的...