gpt4 book ai didi

java - 在没有克隆、复制构造函数和复制工厂的 java 中创建对象副本

转载 作者:行者123 更新时间:2023-11-29 07:07:53 25 4
gpt4 key购买 nike

伙计们,虽然这听起来像是一个已经有人问过的问题,但事实并非如此。

这里的问题很简单,我想在不使用克隆、复制构造函数和复制工厂方法的情况下创建对象的精确副本,因为我们无法对类进行更改(无权限)。假设我有一个 Dog 对象

我想再创建一个 Dog 对象,在这个副本中我必须更改某些属性的值,但原始对象不应受到任何影响

谢谢

最佳答案

如果对象支持,您可以考虑序列化/反序列化,但它可能会影响性能。
使用 ObjectOutputStream 也是另一种选择:http://docs.oracle.com/javase/6/docs/api/java/io/ObjectOutputStream.html#replaceObject%28java.lang.Object%29
另请看《Effective Java》的“Item 76: Write readObject methods defensively”。它展示了一些您可以使用对象输入流玩的讨厌的技巧。

关于java - 在没有克隆、复制构造函数和复制工厂的 java 中创建对象副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17672867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com