温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java中怎么判断class子类或父类

发布时间:2021-08-02 14:18:11 来源:亿速云 阅读:306 作者:Leah 栏目:编程语言

这篇文章给大家介绍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子类或父类就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI