动态制作对象的副本?

时间:2013-11-19 19:05:48

标签: java copy hashmap

我的应用程序将我的Web服务响应存储到WeakHashMap中。 在我的应用程序中,我操纵从UI中的Web服务返回的数据,并且由于对象被引用,它也修改了引用(在我的弱hashmap中)。

有没有办法将对象的副本存储到我的hashmap而不是引用中,而不必在我的应用程序中的每个Model对象上实现Clonable?

2 个答案:

答案 0 :(得分:1)

Kryo允许以最小的努力进行序列化。在sun.misc.Unsafe的帮助下使用直接内存复制也应该非常有效。从他们的快速开始:

Kryo kryo = new Kryo();
SomeClass someObject = ...
SomeClass copy1 = kryo.copy(someObject);
SomeClass copy2 = kryo.copyShallow(someObject);

答案 1 :(得分:0)

您可以使用序列化/反序列化来完成此操作。