溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中怎么判斷class子類或父類

發布時間:2021-08-02 14:18:11 來源:億速云 閱讀:355 作者:Leah 欄目:編程語言

這篇文章給大家介紹java中怎么判斷class子類或父類,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Class c = ArrayList.class;c.isPrimitive(); //判斷c是否為基本數據類型c.isAssignableFrom(List.class); //判斷c是否是List類的子類或父類c.getGenericType(); //得到泛型類型

實例:通過反射得到List<T> 集合中的泛型類型

package com.zf.target; import java.lang.reflect.Field;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.util.List;import java.util.Map; class T{  List<A> a;  List<B> b;//  List l ;  Map<Integer, String> map ;  int c;} class A {}class B{} public class Test9{   public static void main(String[] args) {    Class tc = T.class;    Field[] fields = tc.getDeclaredFields();    for (Field f : fields) {      Class fc = f.getType();      if(fc.isPrimitive()){        System.out.println("基本數據類型: " + f.getName() + " " + fc.getName());      }else{        if(fc.isAssignableFrom(List.class)){ //判斷是否為List          System.out.println("List類型:" + f.getName());          Type gt = f.getGenericType();  //得到泛型類型          ParameterizedType pt = (ParameterizedType)gt;          Class lll = (Class)pt.getActualTypeArguments()[0];          System.out.println("\t\t" + lll.getName());        }      }    }  }   }

內容擴展:

java 如何判斷一個類是否是另一個類的子類

Class clazzB = B.class; Class clazzD = D.class; boolean isFather = clazzD.isAssignableFrom(clazzB)); if(isFather){  System.out.println("D是B的父類"); }else{  System.out.println("D不是B的父類"); }

關于java中怎么判斷class子類或父類就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女