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
返回null
null
返回null
public 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
null
clazz
- 类methodName
- 方法名paramTypes
- 参数类型SecurityException
- 无权访问抛出异常public static Field getDeclaredField(Class<?> clazz, String fieldName) throws SecurityException
null
clazz
- 被查找字段的类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
- ClassNotFoundException
IOException
public 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.