public class TypeUtil
extends java.lang.Object
Type 的工具类封装1. 获取方法的参数和返回值类型(包括Type和Class) 2. 获取泛型参数类型(包括对象的泛型参数或集合元素的泛型类型)
| 构造器和说明 |
|---|
TypeUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
static java.lang.Class<?> |
getClass(java.lang.reflect.Field field)
获得Field对应的原始类
|
static java.lang.Class<?> |
getClass(java.lang.reflect.Type type)
获得Type对应的原始类
|
static java.lang.Class<?> |
getFirstParamClass(java.lang.reflect.Method method)
获取方法的第一个参数类
|
static java.lang.reflect.Type |
getFirstParamType(java.lang.reflect.Method method)
获取方法的第一个参数类型
优先获取方法的GenericParameterTypes,如果获取不到,则获取ParameterTypes |
static java.lang.Class<?> |
getParamClass(java.lang.reflect.Method method,
int index)
获取方法的参数类
|
static java.lang.Class<?>[] |
getParamClasses(java.lang.reflect.Method method)
解析方法的参数类型列表
依赖jre\lib\rt.jar |
static java.lang.reflect.Type |
getParamType(java.lang.reflect.Method method,
int index)
获取方法的参数类型
优先获取方法的GenericParameterTypes,如果获取不到,则获取ParameterTypes |
static java.lang.reflect.Type[] |
getParamTypes(java.lang.reflect.Method method)
获取方法的参数类型列表
优先获取方法的GenericParameterTypes,如果获取不到,则获取ParameterTypes |
static java.lang.Class<?> |
getReturnClass(java.lang.reflect.Method method)
解析方法的返回类型类列表
|
static java.lang.reflect.Type |
getReturnType(java.lang.reflect.Method method)
获取方法的返回值类型
获取方法的GenericReturnType |
static java.lang.reflect.Type |
getType(java.lang.reflect.Field field)
获取字段对应的Type类型
方法优先获取GenericType,获取不到则获取Type |
static java.lang.reflect.Type |
getTypeArgument(java.lang.Class<?> clazz)
获得给定类的第一个泛型参数
|
static java.lang.reflect.Type |
getTypeArgument(java.lang.Class<?> clazz,
int index)
获得给定类的泛型参数
|
static java.lang.reflect.Type |
getTypeArgument(java.lang.reflect.Type type)
获得给定类的第一个泛型参数
|
static java.lang.reflect.Type |
getTypeArgument(java.lang.reflect.Type type,
int index)
获得给定类的泛型参数
|
static java.lang.reflect.Type[] |
getTypeArguments(java.lang.reflect.Type type)
获得指定类型中所有泛型参数类型
|
public static java.lang.Class<?> getClass(java.lang.reflect.Type type)
type - Typenullpublic static java.lang.reflect.Type getType(java.lang.reflect.Field field)
field - 字段Type,可能为nullpublic static java.lang.Class<?> getClass(java.lang.reflect.Field field)
field - Fieldnullpublic static java.lang.reflect.Type getFirstParamType(java.lang.reflect.Method method)
method - 方法Type,可能为nullpublic static java.lang.Class<?> getFirstParamClass(java.lang.reflect.Method method)
method - 方法nullpublic static java.lang.reflect.Type getParamType(java.lang.reflect.Method method,
int index)
method - 方法index - 第几个参数的索引,从0开始计数Type,可能为nullpublic static java.lang.Class<?> getParamClass(java.lang.reflect.Method method,
int index)
method - 方法index - 第几个参数的索引,从0开始计数nullpublic static java.lang.reflect.Type[] getParamTypes(java.lang.reflect.Method method)
method - 方法Type列表,可能为nullMethod.getGenericParameterTypes(),
Method.getParameterTypes()public static java.lang.Class<?>[] getParamClasses(java.lang.reflect.Method method)
method - t方法Method.getGenericParameterTypes(),
Method.getParameterTypes()public static java.lang.reflect.Type getReturnType(java.lang.reflect.Method method)
method - 方法Type,可能为nullMethod.getGenericReturnType(),
Method.getReturnType()public static java.lang.Class<?> getReturnClass(java.lang.reflect.Method method)
method - 方法Method.getGenericReturnType(),
Method.getReturnType()public static java.lang.reflect.Type getTypeArgument(java.lang.Class<?> clazz)
clazz - 被检查的类,必须是已经确定泛型类型的类Type,可能为nullpublic static java.lang.reflect.Type getTypeArgument(java.lang.Class<?> clazz,
int index)
clazz - 被检查的类,必须是已经确定泛型类型的类index - 泛型类型的索引号,既第几个泛型类型Typepublic static java.lang.reflect.Type getTypeArgument(java.lang.reflect.Type type)
type - 被检查的类型,必须是已经确定泛型类型的类型Type,可能为nullpublic static java.lang.reflect.Type getTypeArgument(java.lang.reflect.Type type,
int index)
type - 被检查的类型,必须是已经确定泛型类型的类index - 泛型类型的索引号,既第几个泛型类型Typepublic static java.lang.reflect.Type[] getTypeArguments(java.lang.reflect.Type type)
type - 指定类型Copyright © 2018. All rights reserved.