我有以下方法,它使用gson克隆对象进行深层复制。有没有办法使这个方法通用,或者泛型只适用于属于集合的对象?
private Order gsonClone(Order t) {
Gson gson = new Gson();
String json = gson.toJson(t);
return gson.fromJson(json, t.getClass());
}
答案 0 :(得分:3)
您可以通过声明泛型参数来使任何方法或类通用。由于您需要该类,因此将其作为单独的参数传递:
private <T> T gsonClone(T t, Class<T> type) {
Gson gson = new Gson();
String json = gson.toJson(t, type);
return gson.fromJson(json, type);
}