簡體   English   中英

如何重構這些包裝方法以消除重復代碼?

[英]How can I refactor these wrapper methods to get rid of duplicated code?

以下兩種方法用於使用 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實現了接口Type ,所以看起來只有第一種方法就足夠了。

編輯:實際上看起來這些方法是單獨實現的。 在重構之前至少閱讀javadoc以了解原因。 感謝 home 指出這一點。

Type是由Class實現的接口,因此您可以完全擺脫第二種方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM