2017-09-14 5 views
4

私は以下のようなさまざまなオブジェクトを返します。一般的な要求生成方法を記述しようとしています:囲まれた汎用クラスを使用するメソッドの戻り値の型?

GenricClass<Object1> genCls1 = getNewRequest(Object1.class); 
GenricClass<Object2> genCls2 = getNewRequest(Object2.class); 
GenricClass<Object3> genCls3 = getNewRequest(Object3.class); 

私はこのgetNewRequestは、ジェネリッククラスオブジェクトを囲むたオブジェクトを返すようにしたいです。

私のgetNewRequestメソッドの署名はどのようにするべきですか?

public `?` getNewRequest(Class classtype) {...} 

答えて

4

例えば、方法getNewRequestにジェネリックパラメータTを宣言します。そのような

public <T> GenricClass<T> getNewRequest(Class<T> classtype) 
+0

感謝を。 –

0

引数としてTのするClassTypeインスタンスを使用して、同じクラス型のGenericClassを返します。やや好き:あなたは、直接法における法getNewRequestを含むクラスにジェネリック型パラメータを宣言することができますいずれか

public GenericClass<T> getNewRequest(T classtype) { 
} 
0

何か:あなたの答えのための

public <T> GenericClass<T> getNewRequest(Class<T> classtype) { 

} 
関連する問題