java - 我如何重构这些包装器方法以摆脱重复的代码?

标签 java refactoring gson code-duplication

使用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/

相关文章:

java - 当我使用选项卡导航到某个字段并输入一些文本时,文本消失了?

mysql - 如何最好地组合和优化这两个查询?

unit-testing - 如何重构单元测试?

Java 到 JSON 转换 : JSTL vs Methodical (Jackson/Gson)

java - 改造 2.1.0 + Gson。序列化作为子类的@Body

java - 在java中从XML中获取子节点的值

java - 如何使用 Mongo Repository 查询同一个字段两次?

java - 如何将放心的请求数据记录到 testNG 报告文件

javascript - Paper.js : fastest way to draw many iterated shapes over loop

Java - 从 JSON 文件读取 JSON 并打印出每个元素?