public class GenericUtil
extends java.lang.Object
构造器和说明 |
---|
GenericUtil() |
限定符和类型 | 方法和说明 |
---|---|
static java.util.Map<java.lang.String,java.lang.reflect.Type> |
getGenericInfo(java.lang.reflect.Type type)
获取泛型变量和泛型实际类型的对应关系Map
|
static java.lang.Class<?>[] |
resolveTypeArguments(java.lang.Class<?> clazz,
java.lang.Class<?> genericIfc)
分析类型参数
public class DemoEventListener extend EventListener |
static java.lang.reflect.Type |
reviewType(java.lang.reflect.Type type,
java.util.Map<java.lang.String,java.lang.reflect.Type> genericInfo)
审查类型
|
static java.lang.reflect.Type |
reviewType(java.lang.reflect.Type type,
java.lang.reflect.Type genericInfo)
审查类型
|
static java.lang.reflect.ParameterizedType |
toParameterizedType(java.lang.reflect.Type type)
转换为参数化类型
|
static java.lang.reflect.ParameterizedType |
toParameterizedType(java.lang.reflect.Type type,
java.util.Map<java.lang.String,java.lang.reflect.Type> genericInfo)
转换为参数化类型
|
public static java.lang.Class<?>[] resolveTypeArguments(java.lang.Class<?> clazz, java.lang.Class<?> genericIfc)
public class DemoEventListener extend EventListener{ }
Class>[] tArgs = GenericUtil.resolveTypeArguments(DemoEventListener.class, EventListener.class);
assert tArgs[0] == Demo.class
clazz
- 类型genericIfc
- 泛型接口public static java.lang.reflect.ParameterizedType toParameterizedType(java.lang.reflect.Type type)
public static java.lang.reflect.ParameterizedType toParameterizedType(java.lang.reflect.Type type, java.util.Map<java.lang.String,java.lang.reflect.Type> genericInfo)
genericInfo
- 泛型信息public static java.util.Map<java.lang.String,java.lang.reflect.Type> getGenericInfo(java.lang.reflect.Type type)
type
- 被解析的包含泛型参数的类public static java.lang.reflect.Type reviewType(java.lang.reflect.Type type, java.lang.reflect.Type genericInfo)
type
- 原始类型genericInfo
- 泛型信息类public static java.lang.reflect.Type reviewType(java.lang.reflect.Type type, java.util.Map<java.lang.String,java.lang.reflect.Type> genericInfo)
type
- 原始类型genericInfo
- 泛型信息