Я должен клонировать объект несколько раз. Мой объект не сериализуем. Я пользуюсь следующей функцией:Объект Java Clone с использованием GSON
@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);
Я обнаружил, что это возвращает каждую ссылку на один и тот же объект. например
Скажем, я первый называть его cloneThroughJson(x)
возвращает Y
я снова называть его в одной и той же функции cloneThroughJson(x)
. И снова возвращается Y
.
Вы знаете, как клонировать несериализуемый объект в java, используя глубокое клонирование?
Можете ли вы предоставить [mcve]? Откуда вы знаете, что возвращает тот же экземпляр? –