java淺複製和深複製
阿新 • • 發佈:2019-03-20
之前寫了陣列的複製,所以這裡繼續總結一下淺複製和深複製。
淺拷貝:對基本資料型別進行值傳遞,對引用資料型別進行引用傳遞般的拷貝。
深拷貝:對基本資料型別進行值傳遞,對引用資料型別,建立一個新的物件,並複製其內容。
先來看看淺拷貝:
定義一個People類,裡面有一個地址的Address類
Address類:
寫個測試類:
輸出:
可以看到這樣拷貝的Address物件還是原來的那一個。
我們可以使用cloneable介面實現深拷貝。
輸出:
我們還可以序列化的方式,複製一個物件。當然序列化的方式很多
輸出:
比如我可以使用Json
參考:
https://www.cnblogs.com/plokmju/p/7357205.html
https://www.cnblogs.com/chenssy/p/3308489.html