第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

[Java]對對象深度拷貝的問題

[Java]對對象深度拷貝的問題

繁華開滿天機(jī) 2019-04-25 16:15:25
我現(xiàn)在有如下這幾個對象:class A {     private Long id;     private List<B> listB;     private D d;     ...... } class B {     private Long id;     private A a;     private List<C> listC;     ...... } class C {     private Long id;     private B b;     ...... } class D {     private Long id;     private A a;     ...... }現(xiàn)在我希望將A對象進(jìn)行深拷貝,將A對象下的所有屬性都做一個副本出來,但是ID不要復(fù)制。 我現(xiàn)在的想法是: 1.將每個對象clone出來一個副本,然后將id欄位置空。 2.或者對每個對象做一個構(gòu)造函數(shù),如:public A (A a){     this.xxx = a.xxx;     ...... }然后將每個對象通過構(gòu)造函數(shù)來構(gòu)一個新的對象出來,除了ID欄位。  但是這樣做就需要寫大篇的代碼,請問大家有沒有什么比較簡單的方法來實現(xiàn)這個功能?
查看完整描述

5 回答

?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗 獲得超10個贊

序列化,反序列化,清空id


查看完整回答
反對 回復(fù) 2019-05-07
?
鴻蒙傳說

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊

推薦的方法是:
做一個頂層類,ABCD都從頂層類集成,這樣你只需要寫一個clone()就可以了。
在這個clone里:
1:名字為ID的屬性跳過;
2:instanceof判斷是否是頂層類的對象,如果是調(diào)用clone()進(jìn)行拷貝;
3:簡單類型直接通過反射賦值;

查看完整回答
反對 回復(fù) 2019-05-07
  • 5 回答
  • 0 關(guān)注
  • 677 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號