以前寫了數組的複製,因此這裏繼續總結一下淺複製和深複製。html
淺拷貝:對基本數據類型進行值傳遞,對引用數據類型進行引用傳遞般的拷貝。java
深拷貝:對基本數據類型進行值傳遞,對引用數據類型,建立一個新的對象,並複製其內容。git
先來看看淺拷貝:github
定義一個People類,裏面有一個地址的Address類數組
Address類:測試
寫個測試類:htm
輸出:對象
能夠看到這樣拷貝的Address對象仍是原來的那一個。blog
咱們能夠使用cloneable接口實現深拷貝。接口
輸出:
咱們還能夠序列化的方式,複製一個對象。固然序列化的方式不少
輸出:
好比我能夠使用Json
git:https://github.com/woshiyexinjie/java-godliness
參考:
https://www.cnblogs.com/plokmju/p/7357205.html
https://www.cnblogs.com/chenssy/p/3308489.html