public class ReflectionUtils extends Object
| 构造器和说明 |
|---|
ReflectionUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static IllegalArgumentException |
convertToUncheckedException(Exception e)
将反射时的checked exception转换为unchecked exception.
|
protected static Field |
getDeclaredField(Object object,
String fieldName)
循环向上转型,获取对象的DeclaredField.
|
protected static Method |
getDeclaredMethod(Object object,
String methodName,
Class<?>[] parameterTypes)
循环向上转型,获取对象的DeclaredMethod.
|
static Object |
getFieldValue(Object object,
String fieldName)
直接读取对象属性值,无视private/protected修饰符,不经过getter函数.
|
static <T> Class<T> |
getSuperClassGenricType(Class<T> clazz)
通过反射,获得Class定义中声明的父类的泛型参数的类型.
|
static Class |
getSuperClassGenricType(Class clazz,
int index)
通过反射,获得Class定义中声明的父类的泛型参数的类型.
|
static Object |
invokeMethod(Object object,
String methodName,
Class<?>[] parameterTypes,
Object[] parameters)
直接调用对象方法,无视private/protected修饰符.
|
protected static void |
makeAccessible(Field field)
循环向上转型,获取对象的DeclaredField.
|
static void |
setFieldValue(Object object,
String fieldName,
Object value)
直接设置对象属性值,无视private/protected修饰符,不经过setter函数.
|
public static void setFieldValue(Object object, String fieldName, Object value)
object - setting objectfieldName - setting fieldvalue - setting valuepublic static Object getFieldValue(Object object, String fieldName)
object - getting objectfieldName - getting fieldpublic static Object invokeMethod(Object object, String methodName, Class<?>[] parameterTypes, Object[] parameters) throws InvocationTargetException
object - invoke objectmethodName - invoke method nameparameterTypes - invoke method param typesparameters - invoke method paramsInvocationTargetException - invoke errorprotected static Field getDeclaredField(Object object, String fieldName)
object - getting objectfieldName - getting field nameprotected static void makeAccessible(Field field)
field - setting filedprotected static Method getDeclaredMethod(Object object, String methodName, Class<?>[] parameterTypes)
object - getting objectmethodName - getting method nameparameterTypes - getting param typespublic static <T> Class<T> getSuperClassGenricType(Class<T> clazz)
clazz - The class to introspectpublic static Class getSuperClassGenricType(Class clazz, int index)
clazz - clazz The class to introspectindex - param indexpublic static IllegalArgumentException convertToUncheckedException(Exception e)
e - original exceptionCopyright © 2018. All rights reserved.