public final class ReflectMethodUtil extends Object
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
buildGetMethodName(Class fieldType,
String propertyName)
构建设置方法名称
(1)boolean 会变为 isXXX
(2)常规都是 getXXX
|
static String |
buildGetMethodName(String propertyName)
构建设置方法名称
1.
|
static String |
buildSetMethodName(String propertyName)
构建设置方法名称
|
static Class |
getGenericReturnParamType(Method method,
int paramIndex)
获取泛型参数类型
|
static List<String> |
getIgnoreMethodList()
获取忽略的方法列表
|
static String |
getMethodFullName(Method method)
方法全名此处应该考虑不同的参数问题。
|
static Optional<Method> |
getMethodOptional(Class tClass,
Class<? extends Annotation> annotationClass)
获取指定注解的方法
|
static Class |
getParamGenericType(Method method,
int paramIndex,
int genericIndex)
获取参数的泛型
|
static List<String> |
getParamNames(Annotation[][] parameterAnnotations)
获取参数名称列表
|
static List<String> |
getParamNames(Method method)
获取参数名称
https://blog.csdn.net/revitalizing/article/details/71036970
(1)如果没有指定对应的注解信息,则直接返回 argIndex
比如:arg0 arg1
|
static List<String> |
getParamTypeNames(Method method)
获取方法类型的名称
|
static Class |
getReturnGenericType(Method method,
int index)
获取方法返回值的泛型
|
static Object |
invoke(Object instance,
Method method,
Object... args)
执行反射调用
|
static Object |
invoke(Object instance,
String methodName,
Object... args)
执行反射调用
|
static Object |
invokeFactoryMethod(Class clazz,
Method factoryMethod)
直接执行调用无参方法
限制如下:
(1)工厂方法必须为静态
(2)工厂方法必须无参
(3)工厂方法必须返回指定对象信息
|
static Object |
invokeGetterMethod(Object instance,
Field field)
调用 getter 方法,获取属性值
|
static Object |
invokeGetterMethod(Object instance,
String fieldName)
调用 getter 方法,获取属性值
|
static Object |
invokeGetterMethod(Object instance,
String fieldName,
Class fieldType)
调用 getter 方法,获取属性值
|
static Object |
invokeNoArgsMethod(Object instance,
Method method)
直接执行调用无参方法
|
static Object |
invokeNoArgsMethod(Object instance,
String methodName)
直接执行调用无参方法
|
static void |
invokeSetterMethod(Object instance,
String propertyName,
Object value)
调用 setter 方法,进行设置值
|
static boolean |
isIgnoreMethod(String methodName)
是否为应该忽略的方法名称
|
public static List<String> getIgnoreMethodList()
public static boolean isIgnoreMethod(String methodName)
methodName - 方法名称public static List<String> getParamTypeNames(Method method)
method - 方法反射信息public static List<String> getParamNames(Method method)
method - 方法信息参数注解public static List<String> getParamNames(Annotation[][] parameterAnnotations)
parameterAnnotations - 参数注解public static Class getReturnGenericType(Method method, int index)
method - 方法index - 泛型的下标public static Class getParamGenericType(Method method, int paramIndex, int genericIndex)
method - 方法paramIndex - 方法的下标genericIndex - 泛型的下标public static Optional<Method> getMethodOptional(Class tClass, Class<? extends Annotation> annotationClass)
tClass - 类信息annotationClass - 注解信息public static Object invoke(Object instance, Method method, Object... args)
instance - 对象实例,为空的时候针对 static 方法method - 方法实例args - 参数信息public static Object invoke(Object instance, String methodName, Object... args)
instance - 对象实例,为空的时候针对 static 方法methodName - 方法名称args - 参数信息public static Object invokeNoArgsMethod(Object instance, Method method)
instance - 实例对象method - 方法信息public static Object invokeNoArgsMethod(Object instance, String methodName)
instance - 实例对象methodName - 方法名称信息public static Object invokeFactoryMethod(Class clazz, Method factoryMethod)
clazz - 类信息factoryMethod - 工厂方法public static Class getGenericReturnParamType(Method method, int paramIndex)
method - 方法信息paramIndex - 参数下标public static void invokeSetterMethod(Object instance, String propertyName, Object value)
instance - 实例信息propertyName - 属性名称value - 对象值public static Object invokeGetterMethod(Object instance, String fieldName, Class fieldType)
instance - 实例信息fieldName - 属性名称fieldType - 字段类型public static Object invokeGetterMethod(Object instance, String fieldName)
instance - 实例信息fieldName - 属性名称public static Object invokeGetterMethod(Object instance, Field field)
instance - 实例信息field - 字段类型public static String buildSetMethodName(String propertyName)
propertyName - 属性名称public static String buildGetMethodName(Class fieldType, String propertyName)
fieldType - 字段类型propertyName - 属性名称public static String buildGetMethodName(String propertyName)
propertyName - 属性名称Copyright © 2024. All rights reserved.