类 ReflectUtil
- java.lang.Object
-
- xin.manong.weapon.base.util.ReflectUtil
-
public class ReflectUtil extends Object
反射工具- 作者:
- frankcl
-
-
构造器概要
构造器 构造器 说明 ReflectUtil()
-
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static List<Field>getAnnotatedFields(Object object, Class<? extends Annotation> annotationClass)获取有指定注解的字段列表static <T extends Annotation>
TgetFieldAnnotation(Field field, Class<T> annotationClass)获取字段注解static Field[]getFields(Object object)获取对象所有字段static ObjectgetFieldValue(Object object, String fieldName)获取目标对象指定字段值static Objectinvoke(String methodName, Object object, ReflectArgs args)方法调用static ObjectnewInstance(Class clazz, ReflectArgs args)创建对象实例static ObjectnewInstance(String className, ReflectArgs args)创建对象实例static voidsetFieldValue(Object object, String fieldName, Object fieldValue)设置目标对象指定字段值
-
-
-
方法详细资料
-
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, ReflectArgs args)
方法调用- 参数:
methodName- 方法名object- 目标对象args- 方法参数- 返回:
- 如果调用成功返回结果,否则抛出RuntimeException
-
newInstance
public static Object newInstance(String className, ReflectArgs args)
创建对象实例- 参数:
className- 类全限定名args- 构造参数- 返回:
- 如果成功返回实例对象,否则抛出RuntimeException
-
newInstance
public static Object newInstance(Class clazz, ReflectArgs args)
创建对象实例- 参数:
clazz- 类实例args- 构造参数- 返回:
- 如果成功返回实例对象,否则抛出RuntimeException
-
-