java判断class子类或父类的实例方法
我们首先看代码:
Classc=ArrayList.class; c.isPrimitive();//判断c是否为基本数据类型 c.isAssignableFrom(List.class);//判断c是否是List类的子类或父类 c.getGenericType();//得到泛型类型
实例:通过反射得到List
packagecom.zf.target;
importjava.lang.reflect.Field;
importjava.lang.reflect.ParameterizedType;
importjava.lang.reflect.Type;
importjava.util.List;
importjava.util.Map;
classT{
Lista;
Listb;
//Listl;
Mapmap;
intc;
}
classA{}
classB{}
publicclassTest9{
publicstaticvoidmain(String[]args){
Classtc=T.class;
Field[]fields=tc.getDeclaredFields();
for(Fieldf:fields){
Classfc=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());
Typegt=f.getGenericType();//得到泛型类型
ParameterizedTypept=(ParameterizedType)gt;
Classlll=(Class)pt.getActualTypeArguments()[0];
System.out.println("\t\t"+lll.getName());
}
}
}
}
}
内容扩展:
java如何判断一个类是否是另一个类的子类
ClassclazzB=B.class;
ClassclazzD=D.class;
booleanisFather=clazzD.isAssignableFrom(clazzB));
if(isFather){
System.out.println("D是B的父类");
}else{
System.out.println("D不是B的父类");
}
以上就是本次介绍的全部内容,感谢大家对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。