以下两种方法用于使用谷歌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;
}
他们几乎是相同的,但我不能想出摆脱重复代码的一个聪明的办法。
有什么建议吗?
我会小心删除其中的一种方法。查看JavaDoc:http://google-gson.googlecode.com/svn/tags/1.2.3/docs/javadocs/com/google/gson/Gson.html#fromJson(java.lang.String,java.lang 。类)。我很确定他们有很好的理由提供两种方法,一种是泛型,另一种是非泛型。 – home
@home感谢您指出这一点,我编辑了我的答案 –
@Kublai Khan:没有问题,+1 – home