Package cn.dinodev.spring.commons.utils
Class TypeUtils
java.lang.Object
cn.dinodev.spring.commons.utils.TypeUtils
- Author:
- Cody Lu, JL
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> T类型转换static <T> TcastNonNull(Object object) 类型转换static <T> Class<T>getGenericParamClass(Object inst, Class<?> contextType, int paramIndex) 获取某个泛型接口的实际参数static <T> Class<T>getGenericParamClass(Type actualType, Class<?> contextType, int paramIndex) 获取某个泛型接口的实际参数static <T> Class<T>getGenericSuperclassParamClass(Object inst, Class<?> interfaceClass, int paramIndex) 获取某个父类泛型接口的实际参数static booleanisInstanceOfAny(Object instance, Type... types) 判断instance是否为types中的一种类型static booleanisPrimitiveOrString(Class<?> clazz) 判断class是否为基本类型或者基本类型的包装类型static <T> TnewInstance(Class<T> clazz) 用默认构造函数构建创建新实例static org.springframework.core.ResolvableTyperesolveGenericParamType(org.springframework.core.ResolvableType actualType, Class<?> interfaceType) 获取某个泛型接口的实际类型
-
Constructor Details
-
TypeUtils
public TypeUtils()
-
-
Method Details
-
getGenericParamClass
public static <T> Class<T> getGenericParamClass(Type actualType, Class<?> contextType, int paramIndex) 获取某个泛型接口的实际参数- Type Parameters:
T-- Parameters:
actualType- 实际类型contextType- 需要查询的接口类paramIndex- 类型参数的索引,从0开始- Returns:
-
resolveGenericParamType
public static org.springframework.core.ResolvableType resolveGenericParamType(org.springframework.core.ResolvableType actualType, Class<?> interfaceType) 获取某个泛型接口的实际类型- Parameters:
actualType- 实际类型interfaceType- 需要查询的接口类- Returns:
-
getGenericParamClass
获取某个泛型接口的实际参数- Type Parameters:
T-- Parameters:
inst- 对象实例contextType- 需要查询的接口类paramIndex- 类型参数的索引,从0开始- Returns:
-
getGenericSuperclassParamClass
public static <T> Class<T> getGenericSuperclassParamClass(Object inst, Class<?> interfaceClass, int paramIndex) 获取某个父类泛型接口的实际参数- Type Parameters:
T-- Parameters:
inst- 对象实例interfaceClass- 需要查询的接口类paramIndex- 类型参数的索引,从0开始- Returns:
-
isPrimitiveOrString
判断class是否为基本类型或者基本类型的包装类型- Parameters:
clazz- 类- Returns:
- 是否为基本类型或者基本类型的包装类型
-
newInstance
用默认构造函数构建创建新实例- Parameters:
clazz- 类- Returns:
- 新实例
-
isInstanceOfAny
判断instance是否为types中的一种类型- Parameters:
instance- 实例types- 类型,可以是接口或者类,也可以是基本类型- Returns:
-
cast
类型转换- Parameters:
object- 待转换对象- Returns:
- 转换后的对象,可能为空
-
castNonNull
类型转换- Parameters:
object- 待转换对象- Returns:
- 非空, 否则抛出异常
-