public class ClassHelper extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
ARRAY_SUFFIX
Suffix for array class names: "[]"
|
| 构造器和说明 |
|---|
ClassHelper() |
| 限定符和类型 | 方法和说明 |
|---|---|
static Class<?> |
forName(String name)
Same as
Class.forName(), except that it works for primitive
types. |
static Class<?> |
forName(String name,
ClassLoader classLoader)
Replacement for
Class.forName() that also returns Class
instances for primitives (like "int") and array class names (like
"String[]"). |
static Class<?> |
forNameWithCallerClassLoader(String name,
Class<?> caller) |
static Class<?> |
forNameWithThreadContextClassLoader(String name) |
static ClassLoader |
getCallerClassLoader(Class<?> caller) |
static ClassLoader |
getClassLoader()
Return the default ClassLoader to use: typically the thread context
ClassLoader, if available; the ClassLoader that loaded the ClassUtils
class will be used as fallback.
|
static ClassLoader |
getClassLoader(Class<?> cls)
get class loader
|
static Class<?> |
resolvePrimitiveClassName(String name)
Resolve the given class name as primitive class, if appropriate,
according to the JVM's naming rules for primitive classes.
|
static String |
toShortString(Object obj) |
public static Class<?> forNameWithThreadContextClassLoader(String name) throws ClassNotFoundException
public static Class<?> forNameWithCallerClassLoader(String name, Class<?> caller) throws ClassNotFoundException
public static ClassLoader getCallerClassLoader(Class<?> caller)
public static ClassLoader getClassLoader(Class<?> cls)
cls - public static ClassLoader getClassLoader()
Call this method if you intend to use the thread context ClassLoader in a
scenario where you absolutely need a non-null ClassLoader reference: for
example, for class path resource loading (but not necessarily for
Class.forName, which accepts a null ClassLoader
reference as well).
null)Thread.getContextClassLoader()public static Class<?> forName(String name) throws ClassNotFoundException
Class.forName(), except that it works for primitive
types.public static Class<?> forName(String name, ClassLoader classLoader) throws ClassNotFoundException, LinkageError
Class.forName() that also returns Class
instances for primitives (like "int") and array class names (like
"String[]").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 Class<?> resolvePrimitiveClassName(String name)
Also supports the JVM's internal class names for primitive arrays. Does
not support the "[]" suffix notation for primitive arrays; this is
only supported by forName(java.lang.String).
name - the name of the potentially primitive classnull if the name does not
denote a primitive class or primitive array classCopyright © 2018. All rights reserved.