使用Google Gson包装反序列化的方法有以下两种:
public static <T> T Deserialize(String jsonData, Type t) {
T obj = null;
try {
obj = new Gson().fromJson(jsonData, t);
} catch (Exception e) {
Log.e(DEBUG_TAG, e.getMessage());
}
return obj;
}
public static <T> T Deserialize(String jsonData, Class<T> toClass) {
T obj = null;
try {
obj = new Gson().fromJson(jsonData, toClass);
} catch (Exception e) {
Log.e(DEBUG_TAG, e.getMessage());
}
return obj;
}
它们几乎相同,但我想不出一个聪明的方法来摆脱重复的代码。
有什么建议吗?
最佳答案
Class
实现接口(interface) Type
,因此看起来只有第一个方法就足够了。
编辑: 实际上,这些方法看起来是出于某种原因单独实现的。至少阅读 the javadoc在重构之前了解原因。感谢 home 指出这一点。
关于java - 我如何重构这些包装器方法以摆脱重复的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7067128/