Java獲取泛型參數(shù)的Class類型

需求:兩個類:A帶泛型參數(shù)T,B繼承A并給出泛型參數(shù)類型,現(xiàn)在想在A中獲取T的Class類型。

public abstract class A<T> {
    public A() {
        Type genericSuperclass = this.getClass().getGenericSuperclass();
        ParameterizedType parameterizedType = (ParameterizedType) genericSuperclass;
        Type[] actualTypeArguments = parameterizedType.getActualTypeArguments();
        Class tClass = (Class) actualTypeArguments[0];

        System.out.println(tClass.getName());

// 用一句話獲取就是下面一行代碼,只是去除了中間變量,可讀性差了些
//        Class tCls = (Class) (((ParameterizedType) (this.getClass().getGenericSuperclass())).getActualTypeArguments()[0]);
    }
}
public class B extends A<String> {
}

執(zhí)行一下代碼:

public static void main(String[] args){
     new B();//控制臺會輸出java.lang.String
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 引言:泛型一直是困擾自己的一個難題,但是泛型有時一個面試時老生常談的問題;今天作者就通過查閱相關資料簡單談談自己對...
    cp_insist閱讀 1,928評論 0 4
  • 流火的季節(jié) 吻別了曖昧的游戲 心若寒霜 強裝微笑也不達眼底 緊握懷中 那一點點溫存的殘余 貪歡一夜 仍留不住你 嫵...
    陶墨墨閱讀 121評論 1 0
  • 殺手應該是冷血的,可是血很熱。助人的那個店家看似是熱情的,可是他卻很冷血。這個世界,本來就不能從看到的世界去得到結...
    U醬的胡言亂語閱讀 145評論 0 1
  • 納米芬多精是從檜木中提取芬多精和精油的變壓蒸餾方法 技術領域本發(fā)明涉及一種檜木芬多精和檜木精油,及其變壓蒸餾提取方...
    喆哲只為健康閱讀 633評論 0 0
  • 《葉問3》開始不到十分鐘,我說:張?zhí)熘竞腿~問都打詠春拳,都會功夫,但是心境不一樣。張的手法咄咄逼人,力度中藏著殺機...
    九月城池閱讀 355評論 0 0

友情鏈接更多精彩內容