淺複製 深複製 序列化

2022-02-22 15:02:18 字數 1034 閱讀 3205

值型別的複製沒有淺複製或深複製之說。淺(深)複製針對的是引用型別。比如陣列array的clone()就是淺複製,對於值型別陣列,轉殖方法會產生兩個獨立的陣列,轉殖引用型別陣列會產生指向相同物件的兩個陣列。

舉例,陣列的clone()方法,返回object型別的引用,它必須被強制轉換成陣列型別。

static

void

main();

int intarr2=(int

)intarr1.clone();

intarr2[

0]=100,intarr2[1]=200;intarr2[2]=300

;}

上述**:

}上述**:

前面部落格(已有記錄

序列化複習

序列化的定義:直接將記憶體中的陣列原封不動的以特定的格式形式儲存起來。

-》二進位制序列化(將記憶體中的陣列直接以二進位制的形式取出)

-》步驟:

1.建立乙個檔案流

2.確保物件可以被序列化,給類前面加上[serializable]。比如int類前就加了[serializable]

3.binaryformatter

4.serialize()或者deserialize()反序列化

-》xml序列化

♦ 用序列化反序列化實現深複製

淺複製 深複製

second,來說說shallow copy and deep copy的定義和我自己的一些理解。僅供參考 淺複製 shallow copy 如果欄位是值型別的。則對該字段執行逐位複製,如果欄位是引用型別,則複製引用但不複製引用的物件 因此,原始物件及其副本引用同一物件。即被複製物件的所有變數都含有...

深複製 淺複製

深複製又叫深拷貝 淺複製又叫淺拷貝 位拷貝。為了理解什麼叫深複製和淺複製,我們舉乙個例子,假如我們有乙個類叫cdemo,有兩個成員,a 和 str.class cdemo 我們再定義乙個建構函式 cdemo int pa,char cstr 然後執行 cdemo a 10,hello cdemo b...

深複製淺複製

淺複製 所謂的淺拷貝就是拷貝指向物件的指標,意思就是說 拷貝出來的目標物件的指標和源物件的指標指向的記憶體空間是同一塊空間.淺拷貝只是一種簡單的拷貝,讓幾個物件公用乙個記憶體,然而當記憶體銷毀的時候,指向這個記憶體空間的所有指標需要重新定義,不然會造成野指標錯誤 深複製所謂的深拷貝指拷貝物件的具體內...