public class ClassKit extends Object
| 限定符和类型 | 方法和说明 |
|---|---|
static Class<?>[] |
getActualTypeArgument(Class<?> clazz)
获取泛型类Class对象,不是泛型类则返回null
|
static Class<?>[] |
getClasses(Object... objects)
获得对象数组的类数组
|
static Class<?> |
getSuperclass(Class<?> clazz)
获取对象的顶层父类(Object不算)
|
static Class<?> |
getSuperclass(Object obj)
获取对象的顶层父类(Object不算)
|
static boolean |
isAbstract(Class<?> clazz)
是否为抽象类
|
static boolean |
isAssignable(Class<?> targetType,
Class<?> sourceType)
检查目标类是否可以从原类转化
转化包括: 1、原类是对象,目标类型是原类型实现的接口 2、目标类型是原类型的父类 3、两者是原始类型或者包装类型(相互转换) |
static boolean |
isNormalClass(Class<?> clazz)
是否为标准的类
这个类必须: 1、非接口 2、非抽象类 3、非Enum枚举 4、非数组 5、非注解 6、非原始类型(int, long等) |
static boolean |
isNotPublic(Class<?> clazz)
指定类是否为非public
|
static boolean |
isNotPublic(Method method)
指定方法是否为非public
|
static boolean |
isPublic(Class<?> clazz)
指定类是否为Public
|
static boolean |
isPublic(Method method)
指定方法是否为Public
|
static <T> T |
newInstance(Class<T> clazz)
实例化对象
|
static <T> T |
newInstance(Class<T> clazz,
Object... params)
实例化对象
|
static <T> T |
newInstance(String clazz)
实例化对象
|
static <T> T |
newInstanceConstructorsDefaultValue(Class<T> clazz)
根据实例类型创建一个新的实例,优先使用无参构造函数,如果不存在无参构造函数则为第一个构造函数的参数设置默认值
|
static <T> Constructor<T> |
priorityNoArgumentConstructor(Class<T> clazz)
优先获取对象的无参构造函数如果不存在则返回第一个构造函数
|
static Method |
setAccessible(Method method)
设置方法为可访问
|
public static Class<?>[] getActualTypeArgument(Class<?> clazz)
clazz - 泛型类public static boolean isNormalClass(Class<?> clazz)
clazz - 类public static boolean isAbstract(Class<?> clazz)
clazz - 类public static <T> T newInstance(String clazz)
clazz - 类名public static <T> T newInstanceConstructorsDefaultValue(Class<T> clazz)
clazz - 实例类型public static <T> Constructor<T> priorityNoArgumentConstructor(Class<T> clazz)
clazz - 对象类型public static <T> T newInstance(Class<T> clazz)
clazz - 类public static <T> T newInstance(Class<T> clazz, Object... params)
clazz - 类public static Class<?>[] getClasses(Object... objects)
objects - 对象数组public static boolean isAssignable(Class<?> targetType, Class<?> sourceType)
targetType - 目标类型sourceType - 原类型public static boolean isNotPublic(Class<?> clazz)
clazz - 类public static boolean isNotPublic(Method method)
method - 方法public static boolean isPublic(Class<?> clazz)
clazz - 类public static boolean isPublic(Method method)
method - 方法public static Class<?> getSuperclass(Object obj)
obj - 对象Copyright © 2019. All rights reserved.