我必须多次克隆一个对象。我的对象是不可序列化的。我正在使用以下功能使用GSON的Java克隆对象
@SuppressWarnings("unchecked")
public static T cloneThroughJson(T t) {
Gson gson = new Gson();
String json = gson.toJson(t);
return (T) gson.fromJson(json, t.getClass());
}
// ...
Object cloned = cloneThroughJson(someObject);
我发现这是返回每次引用到同一个对象。 e.g
比方说,我先请它cloneThroughJson(x)
返回Y
我再次调用它在同一个函数cloneThroughJson(x)
。并且它再次返回Y
。
你知道如何在java中使用深度克隆克隆不可序列化的对象吗?
您能否提供[mcve]?你怎么知道它返回相同的实例? – 2016-06-09 08:51:41