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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

深拷貝,淺拷貝,克隆

深拷貝,淺拷貝,克隆

炎炎設(shè)計(jì) 2019-07-31 18:51:58
深拷貝,淺拷貝,克隆我需要澄清深度拷貝,淺拷貝和Java中的克隆之間的區(qū)別
查看完整描述

3 回答

?
蝴蝶不菲

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

術(shù)語(yǔ)“克隆”是不明確的(盡管Java類庫(kù)包括Cloneable接口),并且可以引用深拷貝或淺拷貝。深/淺副本不是專門與Java相關(guān)聯(lián)的,而是與制作對(duì)象副本有關(guān)的一般概念,并且指的是如何復(fù)制對(duì)象的成員。

舉個(gè)例子,假設(shè)你有一個(gè)人類:

class Person {
    String name;
    List<String> emailAddresses}

你如何克隆這個(gè)類的對(duì)象?如果要執(zhí)行淺表副本,則可以復(fù)制名稱并emailAddresses在新對(duì)象中添加引用。但是如果你修改了emailAddresses列表的內(nèi)容,你將修改兩個(gè)副本中的列表(因?yàn)檫@是對(duì)象引用的工作方式)。

深層復(fù)制意味著您遞歸復(fù)制每個(gè)成員,因此您需要為new創(chuàng)建一個(gè)新ListPerson,然后將內(nèi)容從舊對(duì)象復(fù)制到新對(duì)象。

雖然上面的示例很簡(jiǎn)單,但深度和淺份副本之間的差異很大,并且對(duì)任何應(yīng)用程序都有重大影響,特別是如果您要提前設(shè)計(jì)一個(gè)通用的克隆方法,而不知道某人以后如何使用它。有時(shí)候你需要深層或淺層語(yǔ)義,或者某些混合,你可以深層復(fù)制某些成員但不需要其他成員。


查看完整回答
反對(duì) 回復(fù) 2019-07-31
?
慕桂英3389331

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊

  • 深層復(fù)制:克隆此對(duì)象以及對(duì)其具有的每個(gè)其他對(duì)象的每個(gè)引用

  • 淺拷貝:克隆此對(duì)象并保留其引用

  • Object clone()拋出CloneNotSupportedException:沒(méi)有指定它是應(yīng)該返回深拷貝還是淺拷貝,但至少是:o.clone()!= o


查看完整回答
反對(duì) 回復(fù) 2019-07-31
  • 3 回答
  • 0 關(guān)注
  • 434 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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