• 技术文章 >Java >java教程

    java判断class是否是某个类的子类或父类

    我叫mt我叫mt2020-02-04 15:15:22原创2110

    Class c = ArrayList.class;
    c.isPrimitive(); //判断c是否为基本数据类型
    c.isAssignableFrom(List.class);  //判断c是否是List类的子类或父类
    c.getGenericType(); //得到泛型类型

    免费学习视频分享:java视频教程

    实例:通过反射得到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入门教程

    以上就是java判断class是否是某个类的子类或父类的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java class 子类 父类 判断
    上一篇:初学者怎么做java项目 下一篇:java并发问题如何处理
    PHP编程就业班

    相关文章推荐

    • 初学者怎么做java项目• Java引用与C指针的区别是什么• 如何查看java的api文档• java中对象怎么调用成员变量与成员方法

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网