类 ReflectUtils


  • public final class ReflectUtils
    extends Object
    ReflectUtils
    • 字段详细资料

      • JVM_VOID

        public static final char JVM_VOID
        void(V).
        另请参阅:
        常量字段值
      • JVM_BOOLEAN

        public static final char JVM_BOOLEAN
        boolean(Z).
        另请参阅:
        常量字段值
      • JVM_BYTE

        public static final char JVM_BYTE
        byte(B).
        另请参阅:
        常量字段值
      • JVM_CHAR

        public static final char JVM_CHAR
        char(C).
        另请参阅:
        常量字段值
      • JVM_DOUBLE

        public static final char JVM_DOUBLE
        double(D).
        另请参阅:
        常量字段值
      • JVM_FLOAT

        public static final char JVM_FLOAT
        float(F).
        另请参阅:
        常量字段值
      • JVM_INT

        public static final char JVM_INT
        int(I).
        另请参阅:
        常量字段值
      • JVM_LONG

        public static final char JVM_LONG
        long(J).
        另请参阅:
        常量字段值
      • JVM_SHORT

        public static final char JVM_SHORT
        short(S).
        另请参阅:
        常量字段值
      • EMPTY_CLASS_ARRAY

        public static final Class<?>[] EMPTY_CLASS_ARRAY
      • DESC_PATTERN

        public static final Pattern DESC_PATTERN
      • METHOD_DESC_PATTERN

        public static final Pattern METHOD_DESC_PATTERN
      • GETTER_METHOD_DESC_PATTERN

        public static final Pattern GETTER_METHOD_DESC_PATTERN
      • SETTER_METHOD_DESC_PATTERN

        public static final Pattern SETTER_METHOD_DESC_PATTERN
      • IS_HAS_CAN_METHOD_DESC_PATTERN

        public static final Pattern IS_HAS_CAN_METHOD_DESC_PATTERN
    • 方法详细资料

      • isPrimitives

        public static boolean isPrimitives​(Class<?> cls)
      • isPrimitive

        public static boolean isPrimitive​(Class<?> cls)
      • getBoxedClass

        public static Class<?> getBoxedClass​(Class<?> c)
      • isCompatible

        public static boolean isCompatible​(Class<?> c,
                                           Object o)
        is compatible.
        参数:
        c - class.
        o - instance.
        返回:
        compatible or not.
      • isCompatible

        public static boolean isCompatible​(Class<?>[] cs,
                                           Object[] os)
        is compatible.
        参数:
        cs - class array.
        os - object array.
        返回:
        compatible or not.
      • getCodeBase

        public static String getCodeBase​(Class<?> cls)
      • getName

        public static String getName​(Class<?> c)
        get name. java.lang.Object[][].class => "java.lang.Object[][]"
        参数:
        c - class.
        返回:
        name.
      • getGenericClass

        public static Class<?> getGenericClass​(Class<?> cls)
      • getGenericClass

        public static Class<?> getGenericClass​(Class<?> cls,
                                               int i)
      • getName

        public static String getName​(Method m)
        get method name. "void do(int)", "void do()", "int do(java.lang.String,boolean)"
        参数:
        m - method.
        返回:
        name.
      • getSignature

        public static String getSignature​(String methodName,
                                          Class<?>[] parameterTypes)
      • getName

        public static String getName​(Constructor<?> c)
        get constructor name. "()", "(java.lang.String,int)"
        参数:
        c - constructor.
        返回:
        name.
      • getDesc

        public static String getDesc​(Class<?> c)
        get class desc. boolean[].class => "[Z" Object.class => "Ljava/lang/Object;"
        参数:
        c - class.
        返回:
        desc.
        抛出:
        javassist.NotFoundException
      • getDesc

        public static String getDesc​(Class<?>[] cs)
        get class array desc. [int.class, boolean[].class, Object.class] => "I[ZLjava/lang/Object;"
        参数:
        cs - class array.
        返回:
        desc.
        抛出:
        javassist.NotFoundException
      • getDesc

        public static String getDesc​(Method m)
        get method desc. int do(int arg1) => "do(I)I" void do(String arg1,boolean arg2) => "do(Ljava/lang/String;Z)V"
        参数:
        m - method.
        返回:
        desc.
      • getDesc

        public static String getDesc​(Constructor<?> c)
        get constructor desc. "()V", "(Ljava/lang/String;I)V"
        参数:
        c - constructor.
        返回:
        desc
      • getDescWithoutMethodName

        public static String getDescWithoutMethodName​(Method m)
        get method desc. "(I)I", "()V", "(Ljava/lang/String;Z)V"
        参数:
        m - method.
        返回:
        desc.
      • getDesc

        public static String getDesc​(javassist.CtClass c)
                              throws javassist.NotFoundException
        get class desc. Object.class => "Ljava/lang/Object;" boolean[].class => "[Z"
        参数:
        c - class.
        返回:
        desc.
        抛出:
        javassist.NotFoundException
      • getDesc

        public static String getDesc​(javassist.CtMethod m)
                              throws javassist.NotFoundException
        get method desc. "do(I)I", "do()V", "do(Ljava/lang/String;Z)V"
        参数:
        m - method.
        返回:
        desc.
        抛出:
        javassist.NotFoundException
      • getDesc

        public static String getDesc​(javassist.CtConstructor c)
                              throws javassist.NotFoundException
        get constructor desc. "()V", "(Ljava/lang/String;I)V"
        参数:
        c - constructor.
        返回:
        desc
        抛出:
        javassist.NotFoundException
      • getDescWithoutMethodName

        public static String getDescWithoutMethodName​(javassist.CtMethod m)
                                               throws javassist.NotFoundException
        get method desc. "(I)I", "()V", "(Ljava/lang/String;Z)V".
        参数:
        m - method.
        返回:
        desc.
        抛出:
        javassist.NotFoundException
      • name2desc

        public static String name2desc​(String name)
        name to desc. java.util.Map[][] => "[[Ljava/util/Map;"
        参数:
        name - name.
        返回:
        desc.
      • desc2name

        public static String desc2name​(String desc)
        desc to name. "[[I" => "int[][]"
        参数:
        desc - desc.
        返回:
        name.
      • forName

        public static Class<?> forName​(String name)
      • isInstance

        public static boolean isInstance​(Object obj,
                                         String interfaceClazzName)
        Check if one object is the implementation for a given interface.

        This method will not trigger classloading for the given interface, therefore it will not lead to error when the given interface is not visible by the classloader

        参数:
        obj - Object to examine
        interfaceClazzName - The given interface
        返回:
        true if the object implements the given interface, otherwise return false
      • getEmptyObject

        public static Object getEmptyObject​(Class<?> returnType)
      • isBeanPropertyReadMethod

        public static boolean isBeanPropertyReadMethod​(Method method)
      • getPropertyNameFromBeanReadMethod

        public static String getPropertyNameFromBeanReadMethod​(Method method)
      • isBeanPropertyWriteMethod

        public static boolean isBeanPropertyWriteMethod​(Method method)
      • getPropertyNameFromBeanWriteMethod

        public static String getPropertyNameFromBeanWriteMethod​(Method method)
      • isPublicInstanceField

        public static boolean isPublicInstanceField​(Field field)
      • getBeanPropertyFields

        public static Map<String,​Field> getBeanPropertyFields​(Class cl)
      • getBeanPropertyReadMethods

        public static Map<String,​Method> getBeanPropertyReadMethods​(Class cl)