类 ReflectUtil


  • public class ReflectUtil
    extends Object
    反射工具
    作者:
    frankcl
    • 构造器详细资料

      • ReflectUtil

        public ReflectUtil()
    • 方法详细资料

      • getFieldAnnotation

        public static <T extends Annotation> T getFieldAnnotation​(Field field,
                                                                  Class<T> annotationClass)
        获取字段注解
        类型参数:
        T - 注解类型
        参数:
        field - 字段
        annotationClass - 注解类型
        返回:
        成功返回注解实例,否则返回null或抛出异常
      • getAnnotatedFields

        public static List<Field> getAnnotatedFields​(Object object,
                                                     Class<? extends Annotation> annotationClass)
        获取有指定注解的字段列表
        参数:
        object - 对象
        annotationClass - 注解class
        返回:
        字段列表
      • getFieldValue

        public static Object getFieldValue​(Object object,
                                           String fieldName)
        获取目标对象指定字段值
        参数:
        object - 目标对象
        fieldName - 字段名
        返回:
        如果字段存在返回字段值,否则抛出RuntimeException
      • setFieldValue

        public static void setFieldValue​(Object object,
                                         String fieldName,
                                         Object fieldValue)
        设置目标对象指定字段值
        参数:
        object - 目标对象
        fieldName - 字段名
        fieldValue - 字段值
      • invoke

        public static Object invoke​(String methodName,
                                    Object object,
                                    ReflectParams params)
        方法调用
        参数:
        methodName - 方法名
        object - 目标对象
        params - 方法参数
        返回:
        如果调用成功返回结果,否则抛出RuntimeException
      • newInstance

        public static Object newInstance​(String className,
                                         ReflectParams params)
        创建对象实例
        参数:
        className - 类全限定名
        params - 构造参数
        返回:
        如果成功返回实例对象,否则抛出RuntimeException
      • newInstance

        public static Object newInstance​(Class clazz,
                                         ReflectParams params)
        创建对象实例
        参数:
        clazz - 类实例
        params - 构造参数
        返回:
        如果成功返回实例对象,否则抛出RuntimeException
      • getFields

        public static Field[] getFields​(Object object)
        获取对象所有字段
        参数:
        object - 对象
        返回:
        字段数组