深拷贝和浅拷贝的区别(浅拷贝和深拷贝的值会不会变)

深拷贝和浅拷贝的区别(浅拷贝和深拷贝的值会不会变)

首页维修大全综合更新时间:2024-08-06 20:14:40

深拷贝和浅拷贝的区别

深拷贝和浅拷贝的主要区别就是拷贝的深度不同。

深拷贝是将一个对象从内存中完整的拷贝一份出来,从堆内存中开辟一个新的区域存放新对象。

浅拷贝基本类型之前互不影响,引用类型其中一个对象改变了地址,就会影响另一个对象;深拷贝改变新对象不会影响原对象,他们之前互不影响。

深拷贝和浅拷贝是指拷贝的深度,浅拷贝只是拷贝第一层,深拷贝则是拷贝所有层。

深拷贝会拷贝所有数据,也就是说会创建一个新的对象,里面的数据和源对象是完全不同的,互不影响。

浅拷贝仅仅是拷贝第一层,如果源对象有子对象,则子对象不会被拷贝,新对象和源对象的子对象指向同一块内存空间,这样一来,修改源对象的子对象,也会影响新对象子对象的值,反之亦然。

大家还看了
也许喜欢
更多栏目

© 2021 3dmxku.com,All Rights Reserved.