public class Methods extends Object
如果需要调用基本类型入参的方法 可以先获取Method
Modifier and Type | Field and Description |
---|---|
protected static String |
BOOLEAN_GETTER_PREFIX |
protected static String |
GETTER_PREFIX |
protected static String |
SETTER_PREFIX |
Modifier and Type | Method and Description |
---|---|
static Method |
getAccessibleMethod(Class<?> clazz,
String methodName)
获取对象匹配方法名的第一个 DeclaredMethod 并强制设置为可访问 可以获取基本类型的方法
|
static Method |
getAccessibleMethod(Class<?> clazz,
String methodName,
Class<?>... parameterTypes)
获取对象匹配方法名和参数类型的 DeclaredMethod 并强制设置为可访问 可以获取基本类型的方法
|
static Method |
getAccessibleMethod(Class<?> clazz,
String methodName,
int argsNum)
获取对象匹配方法名和参数长度的第一个 DeclaredMethod 并强制设置为可访问 可以获取基本类型的方法
|
static Map<String,Method> |
getAccessibleMethodMap(Class<?> clazz)
获取该类的所有方法列表
|
static List<Method> |
getAccessibleMethods(Class<?> clazz)
获取该类的所有方法
|
static List<Method> |
getAccessibleMethods(Class<?> clazz,
String methodName)
获取对象匹配方法名的 DeclaredMethod 并强制设置为可访问
|
static List<Method> |
getAccessibleMethods(Class<?> clazz,
String methodName,
int argsNum)
获取对象匹配方法名和参数长度的 DeclaredMethod 并强制设置为可访问 可以获取基本类型的方法
|
static Method |
getGetterMethodByCache(Class<?> clazz,
String field)
获取 getter 方法
|
static Method |
getGetterMethodByField(Class<?> clazz,
Field field)
通过字段获取 getter 方法
|
static Method |
getGetterMethodByField(Class<?> clazz,
String fieldName)
通过字段名称获取 getter 方法
|
static String |
getGetterMethodNameByField(Field field)
通过字段获取 getter 方法
|
static String |
getGetterMethodNameByField(String fieldName)
通过字段名称获取 getter 方法
|
static String |
getGetterMethodNameByField(String fieldName,
boolean isBooleanClass)
通过字段名称获取 getter 方法
|
static List<Method> |
getGetterMethods(Class<?> clazz)
通过方法获取所有的 getter 方法
|
static List<Method> |
getGetterMethodsByCache(Class<?> clazz)
获取所有 getter 方法
|
static List<Method> |
getGetterMethodsByField(Class<?> clazz)
通过字段获取所有的 getter 方法
|
static Method |
getSetterMethodByCache(Class<?> clazz,
String field)
获取 setter 方法
|
static Method |
getSetterMethodByField(Class<?> clazz,
Field field)
通过字段名称获取 setter 方法
|
static Method |
getSetterMethodByField(Class<?> clazz,
String fieldName)
通过字段获取 setter 方法
|
static String |
getSetterMethodNameByField(Field field)
通过字段获取 setter 方法
|
static String |
getSetterMethodNameByField(String fieldName)
通过字段名称获取 setter 方法
|
static List<Method> |
getSetterMethods(Class<?> clazz)
通过方法获取所有的 setter 方法
|
static List<Method> |
getSetterMethodsByCache(Class<?> clazz)
获取所有 setter 方法
|
static List<Method> |
getSetterMethodsByField(Class<?> clazz)
通过字段获取所有的 setter 方法
|
static List<Method> |
getStaticMethods(Class<?> clazz)
获取所有 static 的方法
|
static <E> E |
invokeGetter(Object obj,
String fieldName)
调用 field 的 getter 方法
|
static <E> E |
invokeMethod(Object obj,
Method method)
直接调用对象方法
|
static <E> E |
invokeMethod(Object obj,
Method method,
Object... args)
直接调用对象方法 不支持基本数据类型
|
static <E> E |
invokeMethod(Object obj,
String methodName)
直接调用对象方法
|
static <E> E |
invokeMethod(Object obj,
String methodName,
Class<?>[] parameterTypes,
Object... args)
直接调用对象方法 不支持基本类型
|
static <E> E |
invokeMethod(Object obj,
String methodName,
Object... args)
直接调用对象方法 不支持基本数据类型
|
static <E> E |
invokeMethodInfer(Object obj,
Method method,
Object... args)
直接调用对象方法 会进行参数推断 支持基本数据类型
|
static <E> E |
invokeMethodInfer(Object obj,
String methodName,
Object... args)
直接调用对象方法 会进行参数推断 支持基本数据类型
|
static <E> void |
invokeSetter(Object obj,
String fieldName,
E value)
调用 setter 方法 不支持基本类型
|
static <E> void |
invokeSetterChain(Object obj,
String fields,
E... values)
调用 setter 方法
参数是可变参数所以不支持基本类型
|
static <E> void |
invokeSetterChainInfer(Object obj,
String fields,
E... values)
调用 setter 方法 类型推断调用 支持基本数据类型
|
static <E> void |
invokeSetterInfer(Object obj,
Method method,
E value)
调用 setter 方法 类型推断调用 支持基本数据类型
|
static <E> void |
invokeSetterInfer(Object obj,
String fieldName,
E value)
调用 setter 方法 类型推断调用 支持基本数据类型
|
static void |
setAccessible(Method method)
设置方法可访问
|
protected static final String SETTER_PREFIX
protected static final String GETTER_PREFIX
protected static final String BOOLEAN_GETTER_PREFIX
public static Method getGetterMethodByCache(Class<?> clazz, String field)
clazz
- classfield
- fieldpublic static Method getSetterMethodByCache(Class<?> clazz, String field)
clazz
- classfield
- fieldpublic static List<Method> getGetterMethodsByCache(Class<?> clazz)
clazz
- classpublic static List<Method> getSetterMethodsByCache(Class<?> clazz)
clazz
- classpublic static String getGetterMethodNameByField(Field field)
field
- fieldpublic static String getGetterMethodNameByField(String fieldName)
fieldName
- fieldNamepublic static String getGetterMethodNameByField(String fieldName, boolean isBooleanClass)
fieldName
- fieldNameisBooleanClass
- 是否为 Boolean.TYPEpublic static String getSetterMethodNameByField(Field field)
field
- fieldpublic static String getSetterMethodNameByField(String fieldName)
fieldName
- fieldNamepublic static List<Method> getGetterMethods(Class<?> clazz)
clazz
- classpublic static List<Method> getSetterMethods(Class<?> clazz)
clazz
- classpublic static List<Method> getGetterMethodsByField(Class<?> clazz)
clazz
- classpublic static List<Method> getSetterMethodsByField(Class<?> clazz)
clazz
- classpublic static Method getGetterMethodByField(Class<?> clazz, Field field)
clazz
- classfield
- fieldpublic static Method getGetterMethodByField(Class<?> clazz, String fieldName)
clazz
- classfieldName
- fieldNamepublic static Method getSetterMethodByField(Class<?> clazz, Field field)
clazz
- classfield
- fieldpublic static Method getSetterMethodByField(Class<?> clazz, String fieldName)
clazz
- classfieldName
- fieldpublic static Method getAccessibleMethod(Class<?> clazz, String methodName, Class<?>... parameterTypes)
clazz
- classmethodName
- 方法名parameterTypes
- 参数类型public static Method getAccessibleMethod(Class<?> clazz, String methodName, int argsNum)
clazz
- classmethodName
- 方法名称argsNum
- 参数数量public static Method getAccessibleMethod(Class<?> clazz, String methodName)
clazz
- classmethodName
- 方法名称public static List<Method> getAccessibleMethods(Class<?> clazz, String methodName, int argsNum)
clazz
- classmethodName
- 方法名称argsNum
- 参数数量public static List<Method> getAccessibleMethods(Class<?> clazz, String methodName)
clazz
- classmethodName
- 方法名称public static List<Method> getAccessibleMethods(Class<?> clazz)
clazz
- 反射类public static Map<String,Method> getAccessibleMethodMap(Class<?> clazz)
clazz
- 反射类public static void setAccessible(Method method)
public static List<Method> getStaticMethods(Class<?> clazz)
clazz
- 类public static <E> E invokeGetter(Object obj, String fieldName)
E
- 属性类型obj
- 对象fieldName
- 字段名称@SafeVarargs public static <E> void invokeSetterChain(Object obj, String fields, E... values)
E
- 属性类型obj
- 对象fields
- 字段名称values
- ignore@SafeVarargs public static <E> void invokeSetterChainInfer(Object obj, String fields, E... values)
E
- 属性类型obj
- 对象fields
- 字段名称values
- ignorepublic static <E> void invokeSetter(Object obj, String fieldName, E value)
E
- 属性类型obj
- 对象fieldName
- 字段名称value
- ignorepublic static <E> void invokeSetterInfer(Object obj, String fieldName, E value)
E
- 属性类型obj
- 对象fieldName
- 字段名称value
- ignorepublic static <E> void invokeSetterInfer(Object obj, Method method, E value)
E
- 属性类型obj
- 对象method
- methodvalue
- ignorepublic static <E> E invokeMethod(Object obj, String methodName, Class<?>[] parameterTypes, Object... args)
E
- 返回值类型obj
- 对象methodName
- 方法名称parameterTypes
- 参数列表类型args
- 参数列表public static <E> E invokeMethod(Object obj, String methodName)
E
- 返回值类型obj
- 对象methodName
- 方法名称public static <E> E invokeMethod(Object obj, Method method)
E
- 返回值类型obj
- 对象method
- 方法public static <E> E invokeMethod(Object obj, String methodName, Object... args)
E
- 返回值类型obj
- 对象methodName
- 方法名称args
- 参数列表public static <E> E invokeMethod(Object obj, Method method, Object... args)
E
- 返回值类型obj
- 对象method
- 方法args
- 参数列表public static <E> E invokeMethodInfer(Object obj, String methodName, Object... args)
E
- 返回值类型obj
- 对象methodName
- 方法名称args
- 参数列表Copyright © 2024. All rights reserved.