我正在阅读关于Java中克隆的内容,如何创建对象的浅/深拷贝等。
我想知道为什么需要在Java中创建对象副本?任何实时示例都有助于理解。
我正在阅读关于Java中克隆的内容,如何创建对象的浅/深拷贝等。
我想知道为什么需要在Java中创建对象副本?任何实时示例都有助于理解。
很多时候,您希望使用不可变对象,这种情况下,克隆是您代码的重要部分。例如,如果您有一个具有列表或数组类型字段的不可变对象,则getter应始终返回列表或数组的克隆以保留不可变性。
另一个典型用例是当您想要进行“事务性”修改时,即调用几个状态更改方法,但只有在所有方法都成功时才希望看到结果。
clone()
方法。无论你如何实现克隆,一种方法和另一种方法都一样好。 - biziclop想要了解更深入的克隆知识,请参考:Java中的克隆
您可以使用对象的深克隆副本,因为在某些方法中您可能需要部分结果,并且希望稍后使用。