Java中的深拷贝和浅拷贝

Mr.Jia 2023-4-5 217 4/5

深拷贝会在内存中指向的是不同的地址,对原来的引用类型操作不会影响新的对象

浅拷贝在内存中指向相同的地址,对原对象操作拷贝的对象也会受到影响

总的来说:深拷贝是clone了该对象中的所有引用到的对象,并为每个引用类型字段创建一个新实例;浅拷贝只是将一个对象的字段值复制到另一个对象中。

Object的clone---由于object中的clone是受保护的,所有需要自己实现Cloneable来重写clone,定义为public就可以使用

引用类型(引用传递):存在内存中的堆中,栈里面只是存储的引用类型的地址,

(我记得没错的话在c语言中是使用&来实现基本类型的引用传递,Java里面的基本类型只能用值传递,可以创建一个int值的对象来实现引用传递)

值传递:在栈中,赋值就能改变,也不会受到影响,

 

- THE END -

Mr.Jia

9月11日12:06

最后修改:2023年9月11日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论