我有一个标记为Serializable的任意对象.它有各种可变的子对象,代表货币金额,集合等.我希望能够克隆这个对象,所以如果用户修改它然后恢复它们的动作,我可以用新的克隆替换克隆.
这意味着我需要一个深层复制,因为我不希望用户更改原始出现的子对象(例如,添加/插入集合中的项目).
这些对象没有实现Cloneable,因为它们是自动生成的,我也无法添加这样的方法.
如果没有痛苦的手写,那么无论如何都要在GWT中实现同样的深度克隆?如果这是Java,我可以考虑将对象序列化为字节数组流并反序列化新副本.
我不能在GWT中这样做.我可能会利用RPC,因为稍后会将对象发送到servlet.我只是不知道这是否容易.
有人知道我可以做一个简单的深层复制吗?