java 多個泛型的類型獲取方法

public class SomeOne< T1, T2, T3...>{

      public void getClass(){

        Type genType = getClass().getGenericSuperclass();  
        Type[] params = ((ParameterizedType) genType).getActualTypeArguments();  
        Class<T1>  t1Class = (Class) params[0];
        Class<T2>  t2Class  = (Class) params[1];

          ......

     }

}


有了class,可以通過反射instance對象了

Constructor constructor = t1Class.getDeclaredConstructor(new Class[]{Param1.class, Param2.class...});

T1 ti = (T1) constructor.newInstance(new Object[]{param1, param2...});

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章