在java浅拷贝中是clone()吗?
作者:互联网
java中的clone()是浅拷贝吗?
Eventually this gets to the clone()
method of Object (the uppermost
class), which creates a new instance
of the same class as the object and
copies all the fields to the new
instance (a “shallow copy”).
我从wikipedia开始读到这个.
我不明白为什么它是浅拷贝. clone()将创建一个包含所有字段的新实例.这只是一个很深的副本吗?困惑.需要一些解释.
解决方法:
默认的Object.clone()确实是浅拷贝.但是,它被设计为抛出CloneNotSupportedException,除非您的对象实现了Cloneable.
当您实现Cloneable时,您应该通过在所有可复制的字段上调用clone()来覆盖clone()以使其执行深层复制.
标签:shallow-copy,java,deep-copy 来源: https://codeday.me/bug/20191005/1855905.html