我必須多次克隆一個對象。我的對象是不可序列化的。我正在使用以下功能使用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