类 ClassUtils

java.lang.Object
com.alibaba.nacos.common.utils.ClassUtils

public final class ClassUtils extends Object
Utils for Class.
作者:
liaochuntao
  • 字段详细资料

  • 方法详细资料

    • findClassByName

      public static Class findClassByName(String className)
      Finds and returns class by className.
      参数:
      className - String value for className.
      返回:
      class Instances of the class represent classes and interfaces.
    • isAssignableFrom

      public static boolean isAssignableFrom(Class clazz, Class cls)
      Determines if the class or interface represented by this object is either the same as, or is a superclass or superinterface of, the class or interface represented by the specified parameter.
      参数:
      clazz - Instances of the class represent classes and interfaces.
      cls - Instances of the class represent classes and interfaces.
      返回:
      the value indicating whether objects of the type can be assigned to objects of this class.
    • getName

      public static String getName(Class cls)
      Gets and returns the class name.
      参数:
      cls - Instances of the class represent classes and interfaces.
      返回:
      the name of the class or interface represented by this object.
    • getName

      public static String getName(Object obj)
      Gets and returns className.
      参数:
      obj - Object instance.
      返回:
      className.
    • getCanonicalName

      public static String getCanonicalName(Class cls)
      Gets and returns the canonical name of the underlying class.
      参数:
      cls - Instances of the class represent classes and interfaces.
      返回:
      The canonical name of the underlying class.
    • getCanonicalName

      public static String getCanonicalName(Object obj)
      Gets and returns the canonical name of the underlying class.
      参数:
      obj - Object instance.
      返回:
      The canonical name of the underlying class.
    • getSimpleName

      public static String getSimpleName(Class cls)
      Gets and returns the simple name of the underlying class.
      参数:
      cls - Instances of the class represent classes and interfaces.
      返回:
      the simple name of the underlying class.
    • getSimpleName

      public static String getSimpleName(Object obj)
      Gets and returns the simple name of the underlying class as given in the source code.
      参数:
      obj - Object instance.
      返回:
      the simple name of the underlying class.
    • forName

      public static Class<?> forName(String name, ClassLoader classLoader) throws ClassNotFoundException, LinkageError
      Replacement for 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 nested class names in Java source style (e.g. "java.lang.Thread.State" instead of "java.lang.Thread$State").
      参数:
      name - the name of the Class
      classLoader - the class loader to use (may be null, which indicates the default class loader)
      返回:
      a class instance for the supplied name
      抛出:
      ClassNotFoundException - if the class was not found
      LinkageError - if the class file could not be loaded
      另请参阅:
    • resolvePrimitiveClassName

      public 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.

      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(String, ClassLoader).

      参数:
      name - the name of the potentially primitive class
      返回:
      the primitive class, or null if the name does not denote a primitive class or primitive array class
    • getDefaultClassLoader

      public static ClassLoader getDefaultClassLoader()
      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.

      Call this method if you intend to use the thread context ClassLoader in a scenario where you clearly prefer 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).

      返回:
      the default ClassLoader (only null if even the system ClassLoader isn't accessible)
      另请参阅:
    • classPackageAsResourcePath

      public static String classPackageAsResourcePath(Class<?> clazz)
      Given an input class object, return a string which consists of the class's package name as a pathname, i.e., all dots ('.') are replaced by slashes ('/'). Neither a leading nor trailing slash is added. The result could be concatenated with a slash and the name of a resource and fed directly to ClassLoader.getResource(). For it to be fed to Class.getResource instead, a leading slash would also have to be prepended to the returned value.
      参数:
      clazz - the input class. A null value or the default (empty) package will result in an empty string ("") being returned.
      返回:
      a path which represents the package name
      另请参阅:
    • convertClassNameToResourcePath

      public static String convertClassNameToResourcePath(String className)
      Convert a "."-based fully qualified class name to a "/"-based resource path.
      参数:
      className - the fully qualified class name
      返回:
      the corresponding resource path, pointing to the class
    • resourcePathToConvertClassName

      public static String resourcePathToConvertClassName(String className)
      Convert a "."-based fully qualified class name to a "/"-based resource path.
      参数:
      className - the fully qualified class name
      返回:
      the corresponding resource path, pointing to the class