2016-09-28 6 views
1

クラスを受け取ってGsonデータで返す汎用関数を作成したいと考えています。 これは、私が意図するコードの例です。これで私を助けてください。汎用クラス型を受け取る

ClassType? dealWithClass (String st, Class cls) 
{ 
    Gson gson = new Gson(); 
    return gson.fromJson(st,cls.class); 
} 

MyClass1 mc1 = dealWithClass("some gson string",MyClass1.class) 
MyClass2 mc2 = dealWithClass("some second gson string",MyClass2.class) 

答えて

3

ジェネリック医薬品の簡単な使用:

public <T> T dealWithClass (String st, Class<T> cls) 
{ 
    Gson gson = new Gson(); 
    return gson.fromJson(st,cls); 
} 
2

あなたはgeneric methodを使用する必要があります。

ただ、型宣言のように、メソッド宣言では、一般的な - つまりすることができ、パラメータ化です1つまたは複数のタイプパラメータによって

<T> T dealWithClass(String st, Class<T> clazz) { 
    Gson gson = new Gson(); 
    return gson.fromJson(st, clazz); 
} 
+2

あなたは 'st'パラメータを忘れています – Antoniossss

関連する問題