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

