我什么时候会使用浅拷贝?

Dav*_*rey 5 reference value-type deep-copy shallow-copy

我理解浅拷贝和深拷贝之间的区别,但我真的不明白在什么情况下会首选浅拷贝。

如果我没有记错的话,浅复制会创建值类型的新副本,并简单地复制引用类型的地址,以便它们指向同一个对象,对吗?为什么我想要这种效果?

Joo*_*gen 3

事实上,浅复制是最省力、做得更少的方法。它特别适合不可变对象,在这种情况下共享是最佳的。

不可变对象没有内部状态,不能更改,只能将变量设置为另一个值。

在java中StringBigDecimal是不可变的。

不可变对象也允许更好地利用线程。

对于可变类,您可能对写时复制数据结构感兴趣,其中共享发生直到写入一个变量。