Java clone浅复制与深复制的区别
生活随笔
收集整理的這篇文章主要介紹了
Java clone浅复制与深复制的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 概述
Java對象要調用 clone 進行復制,必須實現 Cloneable 接口,否則會拋出CloneNotSupportedException的異常。
clone 方法默認是淺復制,如果要實現深復制,那必須在clone方法調用對象成員的復制方法。
- 淺復制:復制對象時,對象內部引用類型的成員,仍然共用內存空間。此時A對象修改這個成員的屬性,B對象的該成員也會受影響。
- 深復制:復制對象時,對象內部引用類型的成員,也會重新開辟新的空間。此時A對象和B對象完全互不干擾。
2. 淺復制clone
Grade: 班級類,實現了Cloneable接口
@Data public class Grade implements Cloneable{//名稱private String nam總結
以上是生活随笔為你收集整理的Java clone浅复制与深复制的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Elasticsearch Metric
- 下一篇: Elasticsearch 使用copy