java中怎么判斷class子類或父類-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)公司主營點軍網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,點軍h5微信小程序開發(fā)搭建,點軍網(wǎng)站營銷推廣歡迎點軍等地區(qū)企業(yè)咨詢

Class c = ArrayList.class;c.isPrimitive(); //判斷c是否為基本數(shù)據(jù)類型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("基本數(shù)據(jù)類型: " + 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());        }      }    }  }   }

內(nèi)容擴展:

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的父類"); }

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

網(wǎng)頁題目:java中怎么判斷class子類或父類-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://muchs.cn/article0/phjio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、響應(yīng)式網(wǎng)站、電子商務(wù)、網(wǎng)站排名品牌網(wǎng)站建設(shè)、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營