public static final class ClassUtils.Methods
extends java.lang.Object
| Modifier and Type | Method and Description |
|---|---|
static <T> GenericType<T> |
getGenericParameterType(java.lang.Class<?> type,
java.lang.reflect.Method method)
获得方法输入参数第一个输入参数的第一个泛型参数的实际类型.
|
static <T> GenericType<T> |
getGenericParameterType(java.lang.Class<?> type,
java.lang.reflect.Method method,
int index)
获得方法输入参数第index个输入参数的第一个泛型参数的实际类型.
|
static <T> GenericType<T> |
getGenericParameterType(java.lang.Class<?> type,
java.lang.reflect.Method method,
int paramIndex,
int genericTypeIndex)
获得方法输入参数第index个输入参数的所有泛型参数的实际类型.
|
static <T> GenericType<T> |
getGenericParameterType(java.lang.Class<?> type,
java.lang.String methodName,
java.lang.Class<?>... parameterTypes)
获得方法输入参数第一个输入参数的第一个泛型参数的实际类型.
|
static java.util.List<GenericType<?>> |
getGenericParameterTypes(java.lang.Class<?> type,
java.lang.reflect.Method method)
获得方法输入参数第一个输入参数的所有泛型参数的实际类型列表.
|
static java.util.List<GenericType<?>> |
getGenericParameterTypes(java.lang.Class<?> type,
java.lang.reflect.Method method,
int index)
获得方法输入参数第index个输入参数的所有泛型参数的实际类型.
|
static java.util.List<java.util.List<GenericType<?>>> |
getGenericParameterTypesAll(java.lang.Class<?> type,
java.lang.reflect.Method method)
获得方法所有参数的所有泛型参数的实际类型列表.
|
static <T> GenericType<T> |
getReturnTypeGenericParameterType(java.lang.Class<?> type,
java.lang.reflect.Method method)
获得方法返回值第一个泛型参数的实际类型.
|
static <T> GenericType<T> |
getReturnTypeGenericParameterType(java.lang.Class<?> type,
java.lang.reflect.Method method,
int index)
获得方法返回值泛型参数的实际类型.
|
static <T> GenericType<T> |
getReturnTypeGenericParameterType(java.lang.Class<?> type,
java.lang.String methodName,
java.lang.Class<?>... parameterTypes)
获得方法返回值第一个泛型参数的实际类型.
|
static java.util.List<GenericType<?>> |
getReturnTypeGenericParameterTypes(java.lang.Class<?> type,
java.lang.reflect.Method method)
获得方法返回对象所有泛型参数列表,如果是已经具现化的泛型,则返回具现化的类型.
|
static java.util.List<GenericType<?>> |
getReturnTypeGenericParameterTypes(java.lang.Class<?> type,
java.lang.String methodName,
java.lang.Class<?>... parameterTypes)
获得方法返回对象所有泛型参数列表,如果是已经具现化的泛型,则返回具现化的类型.
|
public static <T> GenericType<T> getReturnTypeGenericParameterType(java.lang.Class<?> type, java.lang.String methodName, java.lang.Class<?>... parameterTypes)
获得方法返回值第一个泛型参数的实际类型. 如: public Map<String, Buyer> getNames(){}
例:
public class StringLongMap extends HashMap<String,Long> {
}
ClassUtils.Methods.getReturnTypeGenericParameterType(StringLongMap.class, "keySet", new Class[0]) == String.class
ClassUtils.Methods.getMethodReturnTypeGenericParameterType(StringLongMap.class, "values", new Class[0]) == Long.class
T - 泛型type - the typemethodName - the method nameparameterTypes - the parameter typespublic static <T> GenericType<T> getReturnTypeGenericParameterType(java.lang.Class<?> type, java.lang.reflect.Method method)
T - 泛型type - the typemethod - 方法getReturnTypeGenericParameterType(Class, String, Class...)public static <T> GenericType<T> getReturnTypeGenericParameterType(java.lang.Class<?> type, java.lang.reflect.Method method, int index)
获得方法返回值泛型参数的实际类型. 如: public Map<String, Buyer> getNames(){}
例:
public class StringLongMap extends HashMap<String,Long> {
}
ClassUtils.Methods.getReturnTypeGenericParameterType(StringLongMap.class, "keySet", new Class[0]) == String.class
ClassUtils.Methods.getReturnTypeGenericParameterType(StringLongMap.class, "values", new Class[0]) == Long.class
public class Super<K,V> {
public Map<K,V> map() {...}
}
public class Sub implements Super<String, Long> {
}
ClassUtils.Methods.getReturnTypeGenericParameterType(Sub.class, "map", new Class[0]) == String.class
ClassUtils.Methods.getReturnTypeGenericParameterType(Sub.class, Sub.class.getMethod("map", new Class[0]), 1) == Long.class
T - 泛型type - the typemethod - 方法index - 泛型参数所在索引,从0开始.public static java.util.List<GenericType<?>> getReturnTypeGenericParameterTypes(java.lang.Class<?> type, java.lang.String methodName, java.lang.Class<?>... parameterTypes)
获得方法返回对象所有泛型参数列表,如果是已经具现化的泛型,则返回具现化的类型.
type - the typemethodName - the method nameparameterTypes - the parameter typespublic static java.util.List<GenericType<?>> getReturnTypeGenericParameterTypes(java.lang.Class<?> type, java.lang.reflect.Method method)
获得方法返回对象所有泛型参数列表,如果是已经具现化的泛型,则返回具现化的类型.
type - the typemethod - the methodpublic static <T> GenericType<T> getGenericParameterType(java.lang.Class<?> type, java.lang.String methodName, java.lang.Class<?>... parameterTypes)
T - the generic typetype - the typemethodName - the method nameparameterTypes - the parameter typespublic static <T> GenericType<T> getGenericParameterType(java.lang.Class<?> type, java.lang.reflect.Method method)
T - the generic typetype - the typemethod - 方法public static <T> GenericType<T> getGenericParameterType(java.lang.Class<?> type, java.lang.reflect.Method method, int index)
T - the generic typetype - the typemethod - 方法index - 第几个输入参数public static <T> GenericType<T> getGenericParameterType(java.lang.Class<?> type, java.lang.reflect.Method method, int paramIndex, int genericTypeIndex)
T - the generic typetype - the typemethod - 方法paramIndex - 第几个输入参数genericTypeIndex - 第几个泛型参数public static java.util.List<java.util.List<GenericType<?>>> getGenericParameterTypesAll(java.lang.Class<?> type, java.lang.reflect.Method method)
type - the typemethod - 方法public static java.util.List<GenericType<?>> getGenericParameterTypes(java.lang.Class<?> type, java.lang.reflect.Method method)
type - the typemethod - 方法public static java.util.List<GenericType<?>> getGenericParameterTypes(java.lang.Class<?> type, java.lang.reflect.Method method, int index)
type - the typemethod - 方法index - 第几个输入参数