首頁 > Java > Java入門 > 主體

java實作list的拷貝

王林
發布: 2020-09-11 15:51:15
轉載
2043 人瀏覽過

java實作list的拷貝

背景:

一開始是想的在進入新頁面的時候複製一份集合,留著後續操作,直接就寫了  List A=List B,後面發現在操作B的時候,A裡面的資料也會跟著改變。

(影片教學推薦:java課程

透過查詢發現,原來直接用「=」是相當於java中相同內容的陣列指向同一位址,即進行淺拷貝後A與B指向同一位址。造成的後果就是,改變B的同時也會改變A,因為改變B就是改變B所指向位址的內容,由於A也指向同一位址,所以A與B一起改變。複製一份獨立的陣列可以使用下面的方法:

public class GoodsBean extends HttpResult implements Cloneable{
@Override
protected Object clone() throws CloneNotSupportedException {
    GoodsBean o = null;
    try {
        o = (GoodsBean) super.clone();
    } catch (CloneNotSupportedException e) {
        e.printStackTrace();
    }
    return o;
}
public  ArrayList<GoodsBean> deep_clone(ArrayList<GoodsBean> cells, ArrayList<GoodsBean> clone_cells){
    for(GoodsBean c : cells){
        try {
            clone_cells.add((GoodsBean) c.clone());
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
    }
    return clone_cells;
}
}
登入後複製

相關推薦:java入門教學

以上是java實作list的拷貝的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!