public class ClassHelper extends Object
| Modifier and Type | Field and Description |
|---|---|
static String |
ARRAY_SUFFIX
Suffix for array class names: "[]"
|
| Constructor and Description |
|---|
ClassHelper() |
| Modifier and Type | Method and Description |
|---|---|
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 final String ARRAY_SUFFIX
public static Class<?> forNameWithThreadContextClassLoader(String name) throws ClassNotFoundException
ClassNotFoundExceptionpublic static Class<?> forNameWithCallerClassLoader(String name, Class<?> caller) throws ClassNotFoundException
ClassNotFoundExceptionpublic 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.ClassNotFoundExceptionpublic 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 © 2011–2020 The Apache Software Foundation. All rights reserved.