类 ClassUtil

java.lang.Object
com.weicoder.common.util.ClassUtil
直接已知子类:
U.C

public class ClassUtil extends Object
关于Class的一些操作
作者:
WD
  • 构造器详细资料

    • ClassUtil

      public ClassUtil()
  • 方法详细资料

    • ioc

      public static <E> E ioc(Class<E> c)
      对传入的类进行实例化并进行类型注入 非基础类型
      参数:
      c - 要注入的类
    • ioc

      public static <E> E ioc(Class<? extends E> c, Class<? extends E> def)
      对传入的类进行实例化并进行类型注入 非基础类型
      参数:
      c - 要注入的类
      def - 默认类
    • ioc

      public static <E> E ioc(E o)
      对传入的对象进行类型注入 非基础类型
      参数:
      o - 要注入的对象
    • pack

      public static <E> List<Class<E>> pack(String name, Class<E> cls)
      获得包名下指定接口的实现类
      类型参数:
      E -
      参数:
      name - 包名
      c - 超类类型
      返回:
      实现类列表
    • bean

      public static <E> Class<E> bean(Class<E> c, String name)
      根据类名称或则指定类
      参数:
      c - 指定类下的
      name - 类名称
      返回:
    • bean

      public static <E> Class<E> bean(String name)
      根据类名称或则指定类
      参数:
      name - 类名称
      返回:
    • list

      public static <E> List<Class<E>> list(Class<E> c)
      获取指定接口下的所有实现类
      参数:
      c -
      返回:
    • from

      public static <E> Class<E> from(Class<E> c)
      获取指定接口下的最后一个实现类
      参数:
      c - 要指定接口或注解的类
      返回:
    • from

      public static <E> Class<E> from(Class<E> c, Class<? extends E> def)
      获取指定接口下的一个实现类 当实现大于2个不使用默认
      参数:
      c - 要指定接口或注解的类
      def - 默认实现
      返回:
    • from

      public static <E> Class<E> from(Class<E> c, int i)
      获取指定接口下的指定索引的实现类
      参数:
      c - 要指定接口或注解的类
      i - 索引第几个
      返回:
    • empty

      public static Object empty(Class<?> cls)
      根据给入的Class返回对应的空对象
      参数:
      cls - 声明的对象
      返回:
      空对象
    • isBaseType

      public static boolean isBaseType(Class<?> clazz)
      判断是否是基础类型
      参数:
      clazz - 要检查的类
      返回:
      是否基础类型
    • getGenericClass

      public static Class<?> getGenericClass(Class<?> clazz, int index)
      获得指定类型的泛型
      参数:
      clazz - 指定的类型
      index - 索引
      返回:
      这个类的泛型
    • getGenericClass

      public static Class<?>[] getGenericClass(Class<?> clazz)
      获得指定类型的泛型
      参数:
      clazz - 指定的类型
      返回:
      这个类的泛型
    • getGenericClass

      public static Class<?>[] getGenericClass(Type type)
      获得指定类型的泛型
      参数:
      type - 指定的类型
      返回:
      这个类的泛型
    • getGenericClass

      public static Class<?> getGenericClass(Type type, int index)
      获得指定类型的泛型
      参数:
      type - 指定的类型
      index - 索引
      返回:
      这个类型的泛型
    • loadClass

      public static Class<?> loadClass(String className)
      加载类
      参数:
      className - 类名
      返回:
      获得的类
    • newProxyInstance

      public static <E> E newProxyInstance(Class<E> cls, InvocationHandler handler)
      使用JDK代理生成代理类
      类型参数:
      E -
      参数:
      cls - 要生成代理的类接口
      handler - 代理方法处理器
      返回:
      代理对象
    • forName

      public static Class<?> forName(String className)
      获得Class 会处理基础类型
      参数:
      className - Class名称
      返回:
      Class
    • newInstance

      public static Object newInstance(String className, Class<?>... parameterTypes)
      实例化对象
      参数:
      className - 类名
      parameterTypes - 参数类型
      返回:
      实例化对象
    • newInstance

      public static <E> E newInstance(String className, E obj)
      实例化对象
      类型参数:
      E - 泛型
      参数:
      className - 类名
      obj - 默认值
      返回:
      实例化对象
    • newInstance

      public static <T> T newInstance(Class<T> clazz, Class<?>... parameterTypes)
      实例化对象
      类型参数:
      T - 泛型
      参数:
      clazz - 类
      parameterTypes - 参数类型
      返回:
      实例化对象
    • newInstance

      public static Object newInstance(String className)
      使用Class的newInstance()方法实例一个对象 封装异常为运行时异常
      参数:
      className - 对象的类
      返回:
      实例的对象
    • getPublicMethod

      public static List<Method> getPublicMethod(Class<?> c)
      获取本类下所有公用方法 不读取父类
      参数:
      c - 类
      返回:
      list
    • getPackageClasses

      public static List<Class<?>> getPackageClasses()
      获得指定包下的所有Class
      返回:
      类列表
    • getPackageClasses

      public static List<Class<?>> getPackageClasses(String packageName)
      获得指定包下的所有Class
      参数:
      packageName - 报名
      返回:
      类列表
    • getClassLoader

      public static ClassLoader getClassLoader()
      获得当前ClassLoader
      返回:
      ClassLoader
    • getInterfaces

      public static List<Class<?>> getInterfaces(Class<?> c)
      获得本类下的所有实现接口
      参数:
      c - 要获取的类
      返回:
      本类实现的所有接口
    • getAnnotations

      public static List<Annotation> getAnnotations(Class<?> c)
      获得本类实现的注解
      参数:
      c - 要获取的类
      返回:
      本类实现的所有注解