可以直接从盒子中复制和Object吗?即,除了手工编写clone函数之外的任何其他方式。
发布于 2012-10-20 07:38:42
Object.clone()的默认实现会创建一个浅拷贝。Serializable或Externalizable的对象组成,则可以使用ObjectOutputStream和ObjectInputStream创建深度副本.但它很贵。cloning库是另一种选择,但我对代码的初步理解是,它依赖于图中每个对象的类提供无参数构造函数。然后,它将修补生成的对象,使其具有原始对象状态的副本。这个过程可能会产生不良的副作用,这取决于no构造函数的实际操作。总之,我不认为有一个普遍的解决办法。
发布于 2012-10-20 07:55:10
我建议使用java.lang.reflect。
java.lang.Class公开所有字段,并允许读取公共字段和调用公共方法。
只有没有访问器的私有字段才不能被克隆。
发布于 2012-10-20 07:58:12
我简要地查看了cloning库代码。它所做的事情是:获取对象内部的图形,而不是写入文件,而是写入内存位置=(即对象的克隆)。因此,尽管它比序列化更快,但它当然也在做同样的事情。
https://stackoverflow.com/questions/12986165
复制相似问题