java反射判断实例的各种方法总结

package thread;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

import play.Play;

public class TestName {

    public static void main(String[] args) {
        Class clazz = A.class;
        clazz.isAnnotation();//如果该类对象表示注释类型,则返回true
        clazz.isAnnotationPresent(B.class);//如果在该元素上存在指定类型的注释,则返回true,否则为false
        clazz.isAnonymousClass();//当且仅当基础类是匿名类时返回true
        clazz.isArray();//确定此类对象是否表示数组类
        clazz.isEnum();//当且仅当该类在源代码中声明为枚举时返回true
        clazz.isPrimitive();//确定指定的类对象是否表示基元类型。
        clazz.isInterface();//确定指定的类对象是否表示接口类型
        clazz.isLocalClass();//当且仅当基础类是本地类时返回true
        clazz.isInstance(B.class);//确定指定的对象是否与该类所表示的对象赋值兼容。
        clazz.isMemberClass();//当且仅当基础类是成员类时返回true
        //确定此类对象表示的类或接口是否与指定的类参数所表示的类或接口相同或为超类或超接口
        clazz.isAssignableFrom(B.class);
        clazz.isSynthetic();//如果该类是合成类,则返回true;否则返回false。
    }
}

猜你喜欢

转载自blog.csdn.net/yaomingyang/article/details/80545898
今日推荐