public class ReflectionUtil
extends java.lang.Object
Constructor and Description |
---|
ReflectionUtil() |
Modifier and Type | Method and Description |
---|---|
static @Nullable java.lang.reflect.Field |
getField(@NotNull java.lang.Class<?> clazz,
@NotNull java.lang.String fieldName)
获取指定类的字段,字段名区分大小写。
|
static @Nullable java.lang.invoke.MethodHandle |
getMethodHandle(@NotNull java.lang.Class<?> clazz,
@NotNull java.lang.String methodName,
@NotNull java.lang.Class<?> returnType,
java.lang.Class<?>... paramTypes)
获取指定类的方法句柄
|
static @Nullable java.lang.Object |
invokeMethod(java.lang.Object object,
@Nullable java.lang.invoke.MethodHandle methodHandle,
java.lang.Object... params)
调用指定对象的方法句柄
|
static boolean |
setFieldValue(@Nullable java.lang.Object object,
@Nullable java.lang.reflect.Field field,
java.lang.Object value)
设置指定对象的字段值
|
static boolean |
setStaticFinalFieldValue(@Nullable java.lang.Object object,
@Nullable java.lang.reflect.Field field,
java.lang.Object value)
设置指定静态不可变对象的字段值
|
@Nullable public static @Nullable java.lang.reflect.Field getField(@NotNull @NotNull java.lang.Class<?> clazz, @NotNull @NotNull java.lang.String fieldName)
clazz
- 类对象fieldName
- 字段名public static boolean setFieldValue(@Nullable @Nullable java.lang.Object object, @Nullable @Nullable java.lang.reflect.Field field, java.lang.Object value)
object
- 对象field
- 字段value
- 要设置的字段值public static boolean setStaticFinalFieldValue(@Nullable @Nullable java.lang.Object object, @Nullable @Nullable java.lang.reflect.Field field, java.lang.Object value)
object
- 对象field
- 字段value
- 要设置的字段值@Nullable public static @Nullable java.lang.invoke.MethodHandle getMethodHandle(@NotNull @NotNull java.lang.Class<?> clazz, @NotNull @NotNull java.lang.String methodName, @NotNull @NotNull java.lang.Class<?> returnType, @NotNull java.lang.Class<?>... paramTypes)
clazz
- 类对象methodName
- 方法名returnType
- 方法的返回类型paramTypes
- 方法的参数类型@Nullable public static @Nullable java.lang.Object invokeMethod(java.lang.Object object, @Nullable @Nullable java.lang.invoke.MethodHandle methodHandle, java.lang.Object... params)
object
- 对象methodHandle
- 方法句柄params
- 方法参数