java 取得泛型的class類型

Class<T> entityClass = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
看紅色的部分,就是得到當前類的父類(
getGenericSuperclass())的參數化類型(ParameterizedType)的實際類型(getActualTypeArguments()[0])。這裡的[0]意思就是第一個參數。比如你的類是這樣的。
java 代碼
 
  1. public class GenericA<T,K>{  
  2.     ....  
  3. }  
則[0]取的就是T的類型,如果[1]取的就是K的類型,以此類推。
不過說句實話,java的泛型實在不如.NET的好用,可能是本人水平太差吧,繼續學習!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章