public class ClassUtil extends Object
| Constructor and Description |
|---|
ClassUtil() |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
equals(Class<?> clazz,
String className,
boolean ignoreCase)
指定类是否与给定的类名相同
|
static <T> Class<T> |
getClass(T obj)
null安全的获取对象类型 |
static Class<?>[] |
getClasses(Object... objects)
获得对象数组的类数组
|
static String |
getClassName(Class<?> clazz,
boolean isSimple)
获取类名
类名并不包含“.class”这个扩展名 例如:ClassUtil这个类 |
static String |
getClassName(Object obj,
boolean isSimple)
获取类名
|
static Field |
getDeclaredField(Class<?> clazz,
String fieldName)
查找指定类中的所有字段(包括非public字段), 字段不存在则返回
null |
static Field[] |
getDeclaredFields(Class<?> clazz)
查找指定类中的所有字段(包括非public字段)
|
static Object |
getDefaultValue(Class<?> clazz)
获取指定类型分的默认值
默认值规则为: |
static Object[] |
getDefaultValues(Class<?>... classes)
获得默认值列表
|
static Method |
getPublicMethod(Class<?> clazz,
String methodName,
Class<?>... paramTypes)
查找指定Public方法 如果找不到对应的方法或方法不为public的则返回
null |
static Set<String> |
getPublicMethodNames(Class<?> clazz)
获得指定类中的Public方法名
去重重载的方法 |
static Method[] |
getPublicMethods(Class<?> clazz)
获得本类及其父类所有Public方法
|
static boolean |
isAbstract(Class<?> clazz)
是否为抽象类
|
static boolean |
isBasicType(Class<?> clazz)
是否为基本类型(包括包装类和原始类)
|
static boolean |
isEnum(Class<?> clazz)
判断类是否为枚举类型
|
static boolean |
isNormalClass(Class<?> clazz)
是否为标准的类
这个类必须: |
static boolean |
isNotPublic(Class<?> clazz)
指定类是否为非public
|
static boolean |
isNotPublic(Method method)
指定方法是否为非public
|
static boolean |
isPrimitiveWrapper(Class<?> clazz)
是否为包装类型
|
static boolean |
isPublic(Class<?> clazz)
指定类是否为Public
|
static boolean |
isPublic(Method method)
指定方法是否为Public
|
static boolean |
isSimpleTypeOrArray(Class<?> clazz)
是否简单值类型或简单值类型的数组
包括:原始类型,、String、other CharSequence, a Number, a Date, a URI, a URL, a Locale or a Class及其数组 |
static boolean |
isSimpleValueType(Class<?> clazz)
是否为简单值类型
包括:原始类型,、String、other CharSequence, a Number, a Date, a URI, a URL, a Locale or a Class. |
static boolean |
isStatic(Method method)
是否为静态方法
|
static void |
scanPackage(String pkg,
ClassScanHandler classScanHandler)
扫描包路径下所有的class文件
代码摘自网上(https://gitee.com/liuyueyi/quicksilver/blob/master/silver-file/src/main/java/com.hust.hui.quicksilver.file/PkgUtil.java),但作了不少改造
|
static Method |
setAccessible(Method method)
设置方法为可访问
|
public static <T> Class<T> getClass(T obj)
null安全的获取对象类型T - 对象类型obj - 对象,如果为null 返回nullnull 返回nullpublic static String getClassName(Object obj, boolean isSimple)
obj - 获取类名对象isSimple - 是否简单类名,如果为true,返回不带包名的类名public static String getClassName(Class<?> clazz, boolean isSimple)
isSimple为false: "com.xiaoleilu.hutool.util.ClassUtil" isSimple为true: "ClassUtil"
clazz - 类isSimple - 是否简单类名,如果为true,返回不带包名的类名public static Class<?>[] getClasses(Object... objects)
objects - 对象数组,如果数组中存在null元素,则此元素被认为是Object类型public static boolean equals(Class<?> clazz, String className, boolean ignoreCase)
clazz - 类className - 类名,可以是全类名(包含包名),也可以是简单类名(不包含包名)ignoreCase - 是否忽略大小写public static Set<String> getPublicMethodNames(Class<?> clazz)
clazz - 类public static Method[] getPublicMethods(Class<?> clazz)
clazz - 查找方法的类public static Method getPublicMethod(Class<?> clazz, String methodName, Class<?>... paramTypes) throws SecurityException
nullclazz - 类methodName - 方法名paramTypes - 参数类型SecurityException - 无权访问抛出异常public static Field getDeclaredField(Class<?> clazz, String fieldName) throws SecurityException
nullclazz - 被查找字段的类fieldName - 字段名SecurityException - 安全异常public static Field[] getDeclaredFields(Class<?> clazz) throws SecurityException
clazz - 被查找字段的类SecurityException - 安全异常public static boolean isPublic(Class<?> clazz)
clazz - 类public static boolean isPublic(Method method)
method - 方法public static boolean isNotPublic(Class<?> clazz)
clazz - 类public static boolean isNotPublic(Method method)
method - 方法public static boolean isStatic(Method method)
method - 方法public static Method setAccessible(Method method)
method - 方法public static boolean isAbstract(Class<?> clazz)
clazz - 类public static boolean isNormalClass(Class<?> clazz)
1、非接口 2、非抽象类 3、非Enum枚举 4、非数组 5、非注解 6、非原始类型(int, long等)
clazz - 类public static boolean isEnum(Class<?> clazz)
clazz - 类public static Object getDefaultValue(Class<?> clazz)
1、如果为原始类型,返回0
2、非原始类型返回 null
clazz - 类public static Object[] getDefaultValues(Class<?>... classes)
classes - 值类型public static void scanPackage(String pkg, ClassScanHandler classScanHandler) throws ClassNotFoundException, IOException
pkg - 形如:org.tio.coreclassScanHandler - ClassNotFoundExceptionIOExceptionpublic static boolean isPrimitiveWrapper(Class<?> clazz)
clazz - 类public static boolean isBasicType(Class<?> clazz)
clazz - 类public static boolean isSimpleTypeOrArray(Class<?> clazz)
clazz - 属性类public static boolean isSimpleValueType(Class<?> clazz)
clazz - 类Copyright © 2021. All rights reserved.