1. 程式人生 > >java淺複製和深複製

java淺複製和深複製

開發十年,就只剩下這套架構體系了! >>>   

之前寫了陣列的複製,所以這裡繼續總結一下淺複製和深複製。

淺拷貝:對基本資料型別進行值傳遞,對引用資料型別進行引用傳遞般的拷貝。

深拷貝:對基本資料型別進行值傳遞,對引用資料型別,建立一個新的物件,並複製其內容。

先來看看淺拷貝:

定義一個People類,裡面有一個地址的Address類

Address類:

寫個測試類:

輸出:

可以看到這樣拷貝的Address物件還是原來的那一個。

我們可以使用cloneable介面實現深拷貝。

輸出:

我們還可以序列化的方式,複製一個物件。當然序列化的方式很多

輸出:

比如我可以使用Json

參考:

https://www.cnblogs.com/plokmju/p/7357205.html

https://www.cnblogs.com/chenssy/p/3308489.html