public class ClassUtils extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
ClassUtils.Interfaces |
| Constructor and Description |
|---|
ClassUtils() |
| Modifier and Type | Method and Description |
|---|---|
static Map<String,Object> |
beanToMap(Object bean)
对象转Map,不进行驼峰转下划线,不忽略值为空的字段
|
static Map<String,Object> |
beanToMap(Object bean,
boolean isToUnderlineCase,
boolean ignoreNullValue)
对象转Map
|
static Map<String,Object> |
beanToMap(Object bean,
Map<String,Object> targetMap,
boolean isToUnderlineCase,
boolean ignoreNullValue)
对象转Map
|
static Map<String,Object> |
beanToMap(Object bean,
Map<String,Object> targetMap,
boolean ignoreNullValue,
Editor<String> keyEditor)
对象转Map
通过实现 Editor 可以自定义字段值,如果这个Editor返回null则忽略这个字段,以便实现: |
static String |
convertClassNameToResourcePath(String className)
Convert a "."-based fully qualified class name to a "/"-based resource path.
|
static boolean |
equals(Class<?> clazz,
String className,
boolean ignoreCase)
指定类是否与给定的类名相同
|
static <T> T |
fillBean(T bean,
ValueProvider<String> valueProvider,
CopyOptions copyOptions)
填充Bean的核心方法
|
static Class<?> |
forName(String name,
ClassLoader classLoader)
Replacement for
Class.forName() that also returns Class instances
for primitives (e.g. |
static List<Field> |
getAllFieldList(Class clazz)
获取类所有的字段信息
ps: 这个方法有个问题 如果子类和父类有相同的字段 会不会重复
1.
|
static List<Method> |
getAllFieldsReadMethods(Class clazz)
获取所有字段的 read 方法列表
|
static List<Class<?>> |
getAllInterfaces(Class<?> cls)
Gets a
List of all interfaces implemented by the given
class and its superclasses. |
static void |
getAllInterfaces(Class<?> cls,
HashSet<Class<?>> interfacesFound)
Get the interfaces for the specified class.
|
static List<Class<?>> |
getAllSuperclasses(Class<?> cls)
Gets a
List of superclasses for the given class. |
static BeanDesc |
getBeanDesc(Class<?> clazz)
获取
BeanDesc Bean描述信息 |
static <T> Class<T> |
getClass(T obj)
null安全的获取对象类型 |
static Class<?>[] |
getClasses(Object... objects)
获得对象数组的类数组
|
static ClassLoader |
getClassLoader()
|
static String |
getClassName(Class<?> clazz,
boolean isSimple)
获取类名
类名并不包含“.class”这个扩展名 例如:ClassUtil这个类 |
static String |
getClassName(Object obj,
boolean isSimple)
获取类名
|
static String |
getClassPath()
获得ClassPath,将编码后的中文路径解码为原字符
这个ClassPath路径会文件路径被标准化处理 |
static String |
getClassPath(boolean isEncoded)
获得ClassPath,这个ClassPath路径会文件路径被标准化处理
|
static URL |
getClassPathURL()
获得ClassPath URL
|
static String |
getClassVar(String className)
获取对应类的默认变量名:
1.
|
static ClassLoader |
getContextClassLoader()
获取当前线程的
ClassLoader |
static Field |
getDeclaredField(Class<?> clazz,
String fieldName)
查找指定类中的所有字段(包括非public字段), 字段不存在则返回null
|
static Field[] |
getDeclaredFields(Class<?> clazz)
查找指定类中的所有字段(包括非public字段)
|
static Method |
getDeclaredMethod(Class<?> clazz,
String methodName,
Class<?>... parameterTypes)
查找指定类中的所有方法(包括非public方法),也包括父类和Object类的方法 找不到方法会返回null
|
static Set<String> |
getDeclaredMethodNames(Class<?> clazz)
获得指定类中的Public方法名
去重重载的方法 |
static Method |
getDeclaredMethodOfObj(Object obj,
String methodName,
Object... args)
查找指定对象中的所有方法(包括非public方法),也包括父对象和Object类的方法
|
static Method[] |
getDeclaredMethods(Class<?> clazz)
获得声明的所有方法,包括本类及其父类和接口的所有方法和Object类的方法
|
static ClassLoader |
getDefaultClassLoader() |
static Object |
getDefaultValue(Class<?> clazz)
获取指定类型分的默认值
默认值规则为: |
static Object[] |
getDefaultValues(Class<?>... classes)
获得默认值列表
|
static JarClassLoader |
getJarClassLoader(File jarOrDir)
创建新的
JarClassLoader,并使用此Classloader加载目录下的class文件和jar文件 |
static String[] |
getJavaClassPaths() |
static String |
getPackage(Class<?> clazz)
获得给定类所在包的名称
例如: ClassUtils =》 org.aoju.bus.core.utils |
static String |
getPackageName(Class<?> clazz)
Determine the name of the package of the given class,
e.g.
|
static String |
getPackageName(String fqClassName)
Determine the name of the package of the given fully-qualified class name,
e.g.
|
static String |
getPackagePath(Class<?> clazz)
获得给定类所在包的路径
例如: |
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 List<Method> |
getPublicMethods(Class<?> clazz,
Filter<Method> filter)
获得指定类过滤后的Public方法列表
|
static List<Method> |
getPublicMethods(Class<?> clazz,
Method... excludeMethods)
获得指定类过滤后的Public方法列表
|
static List<Method> |
getPublicMethods(Class<?> clazz,
String... excludeMethodNames)
获得指定类过滤后的Public方法列表
|
static URL |
getResourceURL(String resource)
获得资源的URL
路径用/分隔,例如: |
static String |
getShortClassName(Class<?> cls)
Gets the class name minus the package name from a
Class. |
static String |
getShortClassName(Object object,
String valueIfNull)
Gets the class name minus the package name for an
Object. |
static String |
getShortClassName(String className)
Gets the class name minus the package name from a String.
|
static String |
getSimpleName(Class<?> cls)
Null-safe version of
aClass.getSimpleName() |
static String |
getSimpleName(Class<?> cls,
String valueIfNull)
Null-safe version of
aClass.getSimpleName() |
static String |
getSimpleName(Object object)
Null-safe version of
aClass.getSimpleName() |
static String |
getSimpleName(Object object,
String valueIfNull)
Null-safe version of
aClass.getSimpleName() |
static Class<?> |
getTypeArgument(Class<?> clazz)
获得给定类的第一个泛型参数
|
static Class<?> |
getTypeArgument(Class<?> clazz,
int index)
获得给定类的泛型参数
|
static Iterable<Class<?>> |
hierarchy(Class<?> type)
Get an
Iterable that can iterate over a class hierarchy in ascending (subclass to superclass) order,
excluding interfaces. |
static Iterable<Class<?>> |
hierarchy(Class<?> type,
ClassUtils.Interfaces interfacesBehavior)
Get an
Iterable that can iterate over a class hierarchy in ascending (subclass to superclass) order. |
static boolean |
isAbstract(Class<?> clazz)
是否为抽象类
|
static boolean |
isAllAssignableFrom(Class<?>[] types1,
Class<?>[] types2)
比较判断types1和types2两组类,如果types1中所有的类都与types2对应位置的类相同,或者是其父类或接口,则返回true
|
static boolean |
isAssignable(Class<?>[] classArray,
Class<?>... toClassArray)
检查目标类是否可以从原类转化
转化包括: 1、原类是对象,目标类型是原类型实现的接口 2、目标类型是原类型的父类 3、两者是原始类型或者包装类型(相互转换) |
static boolean |
isAssignable(Class<?>[] classArray,
Class<?>[] toClassArray,
boolean autoboxing)
检查目标类是否可以从原类转化
转化包括: 1、原类是对象,目标类型是原类型实现的接口 2、目标类型是原类型的父类 3、两者是原始类型或者包装类型(相互转换) |
static boolean |
isAssignable(Class<?> classArray,
Class<?> toClassArray)
检查目标类是否可以从原类转化
转化包括: 1、原类是对象,目标类型是原类型实现的接口 2、目标类型是原类型的父类 3、两者是原始类型或者包装类型(相互转换) |
static boolean |
isAssignable(Class<?> cls,
Class<?> toClass,
boolean autoboxing) |
static boolean |
isBasicType(Class<?> clazz)
是否为基本类型(包括包装类和原始类)
|
static boolean |
isBean(Class<?> clazz)
判断是否为Bean对象
判定方法是是否存在只有一个参数的setXXX方法 |
static boolean |
isEnum(Class<?> clazz)
判断类是否为枚举类型
|
static boolean |
isNormalClass(Class<?> clazz)
是否为标准的类
这个类必须: |
static boolean |
isNotPublic(Class<?> clazz)
指定类是否为非public
|
static boolean |
isNotPublic(Method method)
指定方法是否为非public
|
static boolean |
isPresent(String className)
指定类是否被提供,使用默认ClassLoader
通过调用 loadClass(String, ClassLoader, boolean)方法尝试加载指定类名的类,如果加载失败返回false加载失败的原因可能是此类不存在或其关联引用类不存在 |
static boolean |
isPresent(String className,
ClassLoader classLoader)
指定类是否被提供
通过调用 loadClass(String, ClassLoader, boolean)方法尝试加载指定类名的类,如果加载失败返回false加载失败的原因可能是此类不存在或其关联引用类不存在 |
static boolean |
isPrimitiveOrWrapper(Class<?> type)
|
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 boolean |
isUserLevelMethod(Method method) |
static Class<?> |
loadClass(File jarOrDir,
String name)
加载外部类
|
static Class<?> |
loadClass(String name)
加载类,通过传入类的字符串,返回其对应的类名,使用默认ClassLoader并初始化类(调用static模块内容和初始化static属性)
扩展 Class.forName(String, boolean, ClassLoader)方法,支持以下几类类名的加载: |
static Class<?> |
loadClass(String name,
boolean isInitialized)
加载类,通过传入类的字符串,返回其对应的类名,使用默认ClassLoader
扩展 Class.forName(String, boolean, ClassLoader)方法,支持以下几类类名的加载: |
static Class<?> |
loadClass(String name,
ClassLoader classLoader,
boolean isInitialized)
加载类,通过传入类的字符串,返回其对应的类名
此方法支持缓存,第一次被加载的类之后会读取缓存中的类 加载失败的原因可能是此类不存在或其关联引用类不存在 扩展 Class.forName(String, boolean, ClassLoader)方法,支持以下几类类名的加载: |
static Class<?> |
loadPrimitiveClass(String name)
加载原始类型的类。包括原始类型、原始类型数组和void
|
static <T> T |
newInstance(Class<T> clazz)
获取对象的实例化
|
static Class<?>[] |
primitivesToWrappers(Class<?>... classes)
Converts the specified array of primitive Class objects to an array of
its corresponding wrapper Class objects.
|
static Class<?> |
primitiveToWrapper(Class<?> cls)
Converts the specified primitive Class object to its corresponding
wrapper Class object.
|
static Class<?> |
resolvePrimitiveClassName(String name) |
static Method |
setAccessible(Method method)
设置方法为可访问
|
static Class<?>[] |
toClass(Object... array) |
static Class<?>[] |
wrappersToPrimitives(Class<?>... classes)
Converts the specified array of wrapper Class objects to an array of
its corresponding primitive Class objects.
|
static Class<?> |
wrapperToPrimitive(Class<?> cls)
Converts the specified wrapper class to its corresponding primitive
class.
|
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: "org.aoju.core.utils.ClassUtils" isSimple为true: "ClassUtils"
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 List<Method> getPublicMethods(Class<?> clazz, Filter<Method> filter)
clazz - 查找方法的类filter - 过滤器public static List<Method> getPublicMethods(Class<?> clazz, Method... excludeMethods)
clazz - 查找方法的类excludeMethods - 不包括的方法public static List<Method> getPublicMethods(Class<?> clazz, String... excludeMethodNames)
clazz - 查找方法的类excludeMethodNames - 不包括的方法名列表public static Method getPublicMethod(Class<?> clazz, String methodName, Class<?>... paramTypes) throws SecurityException
clazz - 类methodName - 方法名paramTypes - 参数类型SecurityException - 无权访问抛出异常public static Set<String> getDeclaredMethodNames(Class<?> clazz)
clazz - 类public static Method[] getDeclaredMethods(Class<?> clazz)
clazz - 类public static Method getDeclaredMethodOfObj(Object obj, String methodName, Object... args) throws SecurityException
obj - 被查找的对象methodName - 方法名args - 参数SecurityException - 无访问权限抛出异常public static Method getDeclaredMethod(Class<?> clazz, String methodName, Class<?>... parameterTypes) throws SecurityException
clazz - 被查找的类methodName - 方法名parameterTypes - 参数类型SecurityException - 无访问权限抛出异常public static Field getDeclaredField(Class<?> clazz, String fieldName) throws SecurityException
clazz - 被查找字段的类fieldName - 字段名SecurityException - 安全异常public static Field[] getDeclaredFields(Class<?> clazz) throws SecurityException
clazz - 被查找字段的类SecurityException - 安全异常public static String[] getJavaClassPaths()
public static boolean isAllAssignableFrom(Class<?>[] types1, Class<?>[] types2)
types1 - 类组1types2 - 类组2public 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 - 类public static boolean isAssignable(Class<?>[] classArray, Class<?>... toClassArray)
classArray - 目标类型toClassArray - 原类型public static boolean isAssignable(Class<?> classArray, Class<?> toClassArray)
classArray - 目标类型toClassArray - 原类型public static boolean isAssignable(Class<?>[] classArray, Class<?>[] toClassArray, boolean autoboxing)
classArray - 目标类型toClassArray - 原类型autoboxing - 自动操作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 Class<?> getTypeArgument(Class<?> clazz)
clazz - 被检查的类,必须是已经确定泛型类型的类Classpublic static Class<?> getTypeArgument(Class<?> clazz, int index)
clazz - 被检查的类,必须是已经确定泛型类型的类index - 泛型类型的索引号,既第几个泛型类型Classpublic static String getPackage(Class<?> clazz)
clazz - 类public static String getPackagePath(Class<?> clazz)
clazz - 类public static Object getDefaultValue(Class<?> clazz)
1、如果为原始类型,返回0
2、非原始类型返回 null
clazz - 类public static Object[] getDefaultValues(Class<?>... classes)
classes - 值类型public static boolean isBean(Class<?> clazz)
clazz - 待测试类public static Map<String,Object> beanToMap(Object bean)
bean - bean对象public static Map<String,Object> beanToMap(Object bean, boolean isToUnderlineCase, boolean ignoreNullValue)
bean - bean对象isToUnderlineCase - 是否转换为下划线模式ignoreNullValue - 是否忽略值为空的字段public static Map<String,Object> beanToMap(Object bean, Map<String,Object> targetMap, boolean isToUnderlineCase, boolean ignoreNullValue)
bean - bean对象targetMap - 目标的MapisToUnderlineCase - 是否转换为下划线模式ignoreNullValue - 是否忽略值为空的字段public static Map<String,Object> beanToMap(Object bean, Map<String,Object> targetMap, boolean ignoreNullValue, Editor<String> keyEditor)
Editor 可以自定义字段值,如果这个Editor返回null则忽略这个字段,以便实现:
1. 字段筛选,可以去除不需要的字段 2. 字段变换,例如实现驼峰转下划线 3. 自定义字段前缀或后缀等等
bean - bean对象targetMap - 目标的MapignoreNullValue - 是否忽略值为空的字段keyEditor - 属性字段(Map的key)编辑器,用于筛选、编辑keypublic static BeanDesc getBeanDesc(Class<?> clazz)
BeanDesc Bean描述信息clazz - Bean类public static ClassLoader getClassLoader()
ClassLoader1、获取当前线程的ContextClassLoader 2、获取ClassUtils类对应的ClassLoader 3、获取系统ClassLoader(ClassLoader.getSystemClassLoader())
public static String getClassPath()
public static String getClassPath(boolean isEncoded)
isEncoded - 是否编码路径中的中文public static URL getClassPathURL()
public static URL getResourceURL(String resource) throws CommonException
config/a/db.config spring/xml/test.xml
resource - 资源(相对Classpath的路径)CommonExceptionResourceUtils.getResource(String)public static <T> T fillBean(T bean,
ValueProvider<String> valueProvider,
CopyOptions copyOptions)
T - Bean类型bean - BeanvalueProvider - 值提供者copyOptions - 拷贝选项,见 CopyOptionspublic static ClassLoader getContextClassLoader()
ClassLoaderThread.getContextClassLoader()public static Class<?> loadClass(String name) throws CommonException
Class.forName(String, boolean, ClassLoader)方法,支持以下几类类名的加载:
1、原始类型,例如:int 2、数组类型,例如:int[]、Long[]、String[] 3、内部类,例如:java.lang.Thread.State会被转为java.lang.Thread$State加载
name - 类名CommonException - 包装CommonException,没有类名对应的类时抛出此异常public static Class<?> loadClass(String name, boolean isInitialized) throws CommonException
Class.forName(String, boolean, ClassLoader)方法,支持以下几类类名的加载:
1、原始类型,例如:int 2、数组类型,例如:int[]、Long[]、String[] 3、内部类,例如:java.lang.Thread.State会被转为java.lang.Thread$State加载
name - 类名isInitialized - 是否初始化类(调用static模块内容和初始化static属性)CommonException - 包装CommonException,没有类名对应的类时抛出此异常public static Class<?> loadClass(String name, ClassLoader classLoader, boolean isInitialized) throws CommonException
Class.forName(String, boolean, ClassLoader)方法,支持以下几类类名的加载:
1、原始类型,例如:int 2、数组类型,例如:int[]、Long[]、String[] 3、内部类,例如:java.lang.Thread.State会被转为java.lang.Thread$State加载
name - 类名classLoader - ClassLoader,null 则使用系统默认ClassLoaderisInitialized - 是否初始化类(调用static模块内容和初始化static属性)CommonException - 包装CommonException,没有类名对应的类时抛出此异常public static Class<?> loadPrimitiveClass(String name)
name - 原始类型名,比如 intpublic static JarClassLoader getJarClassLoader(File jarOrDir)
JarClassLoader,并使用此Classloader加载目录下的class文件和jar文件jarOrDir - jar文件或者包含jar和class文件的目录JarClassLoaderpublic static Class<?> loadClass(File jarOrDir, String name)
jarOrDir - jar文件或者包含jar和class文件的目录name - 类名public static boolean isPresent(String className)
loadClass(String, ClassLoader, boolean)方法尝试加载指定类名的类,如果加载失败返回falseclassName - 类名public static boolean isPresent(String className, ClassLoader classLoader)
loadClass(String, ClassLoader, boolean)方法尝试加载指定类名的类,如果加载失败返回falseclassName - 类名classLoader - ClassLoaderpublic static String getPackageName(Class<?> clazz)
java.lang.String class.clazz - the classpublic static String getPackageName(String fqClassName)
java.lang.String class name.fqClassName - the fully-qualified class namepublic static Class<?> forName(String name, ClassLoader classLoader) throws ClassNotFoundException, LinkageError
Class.forName() that also returns Class instances
for primitives (e.g. "int") and array class names (e.g. "String[]").
Furthermore, it is also capable of resolving inner class names in Java source
style (e.g. "java.lang.Thread.State" instead of "java.lang.Thread$State").name - the name of the ClassclassLoader - the class loader to use
(may be null, which indicates the default class loader)ClassNotFoundException - if the class was not foundLinkageError - if the class file could not be loadedClass.forName(String, boolean, ClassLoader)public static ClassLoader getDefaultClassLoader()
public static String getShortClassName(Object object, String valueIfNull)
Gets the class name minus the package name for an Object.
object - the class to get the short name for, may be nullvalueIfNull - the value to return if nullpublic static String getShortClassName(Class<?> cls)
Gets the class name minus the package name from a Class.
Consider using the Java 5 API Class.getSimpleName() instead.
The one known difference is that this code will return "Map.Entry" while
the java.lang.Class variant will simply return "Entry".
cls - the class to get the short name for.public static String getShortClassName(String className)
Gets the class name minus the package name from a String.
The string passed in is assumed to be a class name - it is not checked.
Note that this method differs from Class.getSimpleName() in that this will
return "Map.Entry" whilst the java.lang.Class variant will simply
return "Entry".
className - the className to get the short name forpublic static String getSimpleName(Class<?> cls)
Null-safe version of aClass.getSimpleName()
cls - the class for which to get the simple name; may be nullClass.getSimpleName()public static String getSimpleName(Class<?> cls, String valueIfNull)
Null-safe version of aClass.getSimpleName()
cls - the class for which to get the simple name; may be nullvalueIfNull - the value to return if nullvalueIfNullClass.getSimpleName()public static String getSimpleName(Object object)
Null-safe version of aClass.getSimpleName()
object - the object for which to get the simple class name; may be nullClass.getSimpleName()public static String getSimpleName(Object object, String valueIfNull)
Null-safe version of aClass.getSimpleName()
object - the object for which to get the simple class name; may be nullvalueIfNull - the value to return if object is nullvalueIfNullClass.getSimpleName()public static Class<?> primitiveToWrapper(Class<?> cls)
Converts the specified primitive Class object to its corresponding wrapper Class object.
NOTE: From v2.2, this method handles Void.TYPE,
returning Void.TYPE.
cls - the class to convert, may be nullcls or cls if
cls is not a primitive. null if null input.public static Class<?>[] primitivesToWrappers(Class<?>... classes)
Converts the specified array of primitive Class objects to an array of its corresponding wrapper Class objects.
classes - the class array to convert, may be null or emptynull if null input.
Empty array if an empty array passed in.public static Class<?> wrapperToPrimitive(Class<?> cls)
Converts the specified wrapper class to its corresponding primitive class.
This method is the counter part of primitiveToWrapper().
If the passed in class is a wrapper class for a primitive type, this
primitive type will be returned (e.g. Integer.TYPE for
Integer.class). For other classes, or if the parameter is
null, the return value is null.
cls - the class to convert, may be nullcls is a
wrapper class, null otherwiseprimitiveToWrapper(Class)public static Class<?>[] wrappersToPrimitives(Class<?>... classes)
Converts the specified array of wrapper Class objects to an array of its corresponding primitive Class objects.
This method invokes wrapperToPrimitive() for each element
of the passed in array.
classes - the class array to convert, may be null or emptynull if null input.
Empty array if an empty array passed in.wrapperToPrimitive(Class)public static List<Class<?>> getAllInterfaces(Class<?> cls)
Gets a List of all interfaces implemented by the given
class and its superclasses.
The order is determined by looking through each interface in turn as declared in the source file and following its hierarchy up. Then each superclass is considered in the same way. Later duplicates are ignored, so the order is maintained.
cls - the class to look up, may be nullList of interfaces in order,
null if null inputpublic static void getAllInterfaces(Class<?> cls, HashSet<Class<?>> interfacesFound)
cls - the class to look up, may be nullinterfacesFound - the Set of interfaces for the classpublic static List<Class<?>> getAllSuperclasses(Class<?> cls)
Gets a List of superclasses for the given class.
cls - the class to look up, may be nullList of superclasses in order going up from this one
null if null inputpublic static Iterable<Class<?>> hierarchy(Class<?> type)
Iterable that can iterate over a class hierarchy in ascending (subclass to superclass) order,
excluding interfaces.type - the type to get the class hierarchy frompublic static Iterable<Class<?>> hierarchy(Class<?> type, ClassUtils.Interfaces interfacesBehavior)
Iterable that can iterate over a class hierarchy in ascending (subclass to superclass) order.type - the type to get the class hierarchy frominterfacesBehavior - switch indicating whether to include or exclude interfacespublic static boolean isPrimitiveOrWrapper(Class<?> type)
public static boolean isUserLevelMethod(Method method)
public static String convertClassNameToResourcePath(String className)
className - the fully qualified class namepublic static String getClassVar(String className)
className - 类名称public static List<Field> getAllFieldList(Class clazz)
clazz - 类public static <T> T newInstance(Class<T> clazz)
T - 泛型clazz - 类public static List<Method> getAllFieldsReadMethods(Class clazz) throws IntrospectionException
clazz - 类信息IntrospectionException - if anyCopyright © 2019. All rights reserved.