這篇文章給大家介紹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子類或父類就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網頁題目:java中怎么判斷class子類或父類-創新互聯
網站URL:http://www.yijiale78.com/article0/phjio.html
成都網站建設公司_創新互聯,為您提供網站營銷、響應式網站、電子商務、網站排名、品牌網站建設、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯