zzh

zzh

Java深拷贝与浅拷贝

假设我们有一个类

我们下面用两张图来表示深拷贝和浅拷贝的区别。

  • 浅拷贝

未命名表单

  • 深拷贝
    未命名表单 (2)
注意事项:#

假设我们有一个类,然后我们进行浅拷贝
image
这时候输出结果为
image
也就是说,这里并没有像之前图示一样进行浅拷贝,因为对象 x 中的值与对象 y 中的值不一样,这是因为 String 和 Integer 等包装类都是不可变的对象。当需要修改不可变对象的值时,需要在内存中生成一个新的对象来存放新的值,然后将原来的引用指向新的地址。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。