0
点赞
收藏
分享

微信扫一扫

对象的深拷贝和浅拷贝

SDKB英文 2022-04-15 阅读 53
java

1.要了解深拷贝与浅拷贝,首先要了解对象是怎么赋值的

2.论深拷贝与浅拷贝的影响,要先确定'你'是不可变对象还是可变对象

不可变对象指数值、字符串、元组、不可变集合(frozenset)

可变对象指列表、可变集合(set)、字典(dict)

针对不可变对象使用了深拷贝和浅拷贝,无论是值还是对象地址都是相同的。

针对可变对象使用深拷贝:相当于将a对象的值完全复制了一份给b对象,对象a与对象b的地址值不同,改变对象a的值,对象b的值不会被影响而改变,a与b无关联。不难看出,使用深拷贝会增加内存的使用。

针对可变对象使用浅拷贝:对象a与对象b的地址值不同改变对象a的值,对象b的值也会随之改变。a与b地址不同指向的值确实相同的,ab有关联。

举报

相关推荐

0 条评论