1

コードの繰り返しを最小限に抑えるために、汎用関数を作成しようとしています。次の機能があります(ジェネリックが適用されていません)

public ModelClass getModelDataList (String arg1)
{
        ModelClass objModelClass = new ModelClass(new JSONObject(arg1));
        return objModelClass;
}

だから今、私はそれを汎用的にしようとしているので、任意のModelClass(学生、学部、大学など)を使用できるので、Googleで検索してコードを見つけました

public static <T> T f(String response) 
    {
        T typeList = new T(new JSONObject(response));
        return typeList ;
    }

誰かがこれを達成する方法を教えてもらえますか?

前もって感謝します。

4

2 に答える 2

4

いいえ、特定のコンストラクターを持つようにジェネリック パラメーターを制約することはできません。また、したい必要はありません。

標準的なアクションは、abstract factory を渡すことです。Java SE 8 では、単一メソッド インターフェイスの簡潔な形式が導入される可能性があります。

于 2013-01-24T05:18:33.293 に答える
0

インターフェイスと抽象メソッドの継承を利用して、これを行う別の方法を見つけました

于 2013-01-29T05:01:41.683 に答える