java判斷class子類或父類的實(shí)例方法
更新時(shí)間:2020年02月06日 10:27:23 作者:V
在本篇文章里小編給大家整理的是關(guān)于java判斷class子類或父類的實(shí)例方法,需要的朋友們可以參考學(xué)習(xí)下。
我們首先看代碼:
Class c = ArrayList.class; c.isPrimitive(); //判斷c是否為基本數(shù)據(jù)類型 c.isAssignableFrom(List.class); //判斷c是否是List類的子類或父類 c.getGenericType(); //得到泛型類型
實(shí)例:通過(guò)反射得到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)){ //判斷是否為L(zhǎng)ist 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)容擴(kuò)展:
java 如何判斷一個(gè)類是否是另一個(gè)類的子類
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的父類"); }
以上就是本次介紹的全部?jī)?nèi)容,感謝大家對(duì)腳本之家的支持。
您可能感興趣的文章:
相關(guān)文章
java 配置MyEclipse Maven環(huán)境具體實(shí)現(xiàn)步驟
這篇文章主要介紹了 java 配置MyEclipse Maven環(huán)境具體實(shí)現(xiàn)步驟的相關(guān)資料,具有一定的參考價(jià)值,需要的朋友可以參考下2016-11-11單例模式垃圾回收_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了單例模式垃圾回收的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08MyBatisPlus中事務(wù)處理的實(shí)現(xiàn)
本文主要介紹了MyBatisPlus中事務(wù)處理的實(shí)現(xiàn),包括事務(wù)的開啟、提交、回滾等操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07Java 高并發(fā)編程之最實(shí)用的任務(wù)執(zhí)行架構(gòu)設(shè)計(jì)建議收藏
高并發(fā)(High Concurrency)是互聯(lián)網(wǎng)分布式系統(tǒng)架構(gòu)設(shè)計(jì)中必須考慮的因素之一,它通常是指,通過(guò)設(shè)計(jì)保證系統(tǒng)能夠同時(shí)并行處理很多請(qǐng)求,高并發(fā)相關(guān)常用的一些指標(biāo)有響應(yīng)時(shí)間(Response Time),吞吐量(Throughput),每秒查詢率QPS(Query Per Second),并發(fā)用戶數(shù)等2021-10-10Java實(shí)現(xiàn)List反轉(zhuǎn)的方法總結(jié)
在Java中,反轉(zhuǎn)一個(gè)List意味著將其元素的順序顛倒,使得第一個(gè)元素變成最后一個(gè),最后一個(gè)元素變成第一個(gè),依此類推,這一操作在處理數(shù)據(jù)集合時(shí)非常有用,所以本文給大家總結(jié)了Java實(shí)現(xiàn)List反轉(zhuǎn)的方法,需要的朋友可以參考下2024-04-04