Package com.weicoder.common.util
Class ClassUtil
- java.lang.Object
-
- com.weicoder.common.util.ClassUtil
-
- Direct Known Subclasses:
U.C
public class ClassUtil extends java.lang.Object关于Class的一些操作- Author:
- WD
-
-
Constructor Summary
Constructors Constructor Description ClassUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <E> java.lang.Class<E>bean(java.lang.Class<E> c, java.lang.String name)根据类名称或则指定类static <E> java.lang.Class<E>bean(java.lang.String name)根据类名称或则指定类static java.lang.Objectempty(java.lang.Class<?> cls)根据给入的Class返回对应的空对象static java.lang.Class<?>forName(java.lang.String className)获得Class 会处理基础类型static <E> java.lang.Class<E>from(java.lang.Class<E> c)获取指定接口下的最后一个实现类static <E> java.lang.Class<E>from(java.lang.Class<E> c, int i)获取指定接口下的指定索引的实现类static <E> java.lang.Class<E>from(java.lang.Class<E> c, java.lang.Class<? extends E> def)获取指定接口下的一个实现类 当实现大于2个不使用默认static java.util.List<java.lang.annotation.Annotation>getAnnotations(java.lang.Class<?> c)获得本类实现的注解static java.lang.ClassLoadergetClassLoader()获得当前ClassLoaderstatic java.lang.Class<?>[]getGenericClass(java.lang.Class<?> clazz)获得指定类型的泛型static java.lang.Class<?>getGenericClass(java.lang.Class<?> clazz, int index)获得指定类型的泛型static java.lang.Class<?>[]getGenericClass(java.lang.reflect.Type type)获得指定类型的泛型static java.lang.Class<?>getGenericClass(java.lang.reflect.Type type, int index)获得指定类型的泛型static java.util.List<java.lang.Class<?>>getInterfaces(java.lang.Class<?> c)获得本类下的所有实现接口static java.util.List<java.lang.Class<?>>getPackageClasses()获得指定包下的所有Classstatic java.util.List<java.lang.Class<?>>getPackageClasses(java.lang.String packageName)获得指定包下的所有Classstatic java.util.List<java.lang.reflect.Method>getPublicMethod(java.lang.Class<?> c)获取本类下所有公用方法 不读取父类static <E> Eioc(E o)对传入的对象进行类型注入 非基础类型static <E> Eioc(java.lang.Class<E> c)对传入的类进行实例化并进行类型注入 非基础类型static booleanisBaseType(java.lang.Class<?> clazz)判断是否是基础类型static <E> java.util.List<java.lang.Class<E>>list(java.lang.Class<E> c)获取指定接口下的所有实现类static java.lang.Class<?>loadClass(java.lang.String className)加载类static <T> TnewInstance(java.lang.Class<T> clazz, java.lang.Class<?>... parameterTypes)实例化对象static java.lang.ObjectnewInstance(java.lang.String className)使用Class的newInstance()方法实例一个对象 封装异常为运行时异常static <E> EnewInstance(java.lang.String className, E obj)实例化对象static java.lang.ObjectnewInstance(java.lang.String className, java.lang.Class<?>... parameterTypes)实例化对象static <E> EnewProxyInstance(java.lang.Class<E> cls, java.lang.reflect.InvocationHandler handler)使用JDK代理生成代理类static <E> java.util.List<java.lang.Class<E>>pack(java.lang.String name, java.lang.Class<E> cls)获得包名下指定接口的实现类
-
-
-
Method Detail
-
ioc
public static <E> E ioc(java.lang.Class<E> c)
对传入的类进行实例化并进行类型注入 非基础类型- Parameters:
c- 要注入的类
-
ioc
public static <E> E ioc(E o)
对传入的对象进行类型注入 非基础类型- Parameters:
o- 要注入的对象
-
pack
public static <E> java.util.List<java.lang.Class<E>> pack(java.lang.String name, java.lang.Class<E> cls)获得包名下指定接口的实现类- Type Parameters:
E-- Parameters:
name- 包名c- 超类类型- Returns:
- 实现类列表
-
bean
public static <E> java.lang.Class<E> bean(java.lang.Class<E> c, java.lang.String name)根据类名称或则指定类- Parameters:
c- 指定类下的name- 类名称- Returns:
-
bean
public static <E> java.lang.Class<E> bean(java.lang.String name)
根据类名称或则指定类- Parameters:
name- 类名称- Returns:
-
list
public static <E> java.util.List<java.lang.Class<E>> list(java.lang.Class<E> c)
获取指定接口下的所有实现类- Parameters:
c-- Returns:
-
from
public static <E> java.lang.Class<E> from(java.lang.Class<E> c)
获取指定接口下的最后一个实现类- Parameters:
c- 要指定接口或注解的类- Returns:
-
from
public static <E> java.lang.Class<E> from(java.lang.Class<E> c, java.lang.Class<? extends E> def)获取指定接口下的一个实现类 当实现大于2个不使用默认- Parameters:
c- 要指定接口或注解的类def- 默认实现- Returns:
-
from
public static <E> java.lang.Class<E> from(java.lang.Class<E> c, int i)获取指定接口下的指定索引的实现类- Parameters:
c- 要指定接口或注解的类i- 索引第几个- Returns:
-
empty
public static java.lang.Object empty(java.lang.Class<?> cls)
根据给入的Class返回对应的空对象- Parameters:
cls- 声明的对象- Returns:
- 空对象
-
isBaseType
public static boolean isBaseType(java.lang.Class<?> clazz)
判断是否是基础类型- Parameters:
clazz- 要检查的类- Returns:
- 是否基础类型
-
getGenericClass
public static java.lang.Class<?> getGenericClass(java.lang.Class<?> clazz, int index)获得指定类型的泛型- Parameters:
clazz- 指定的类型index- 索引- Returns:
- 这个类的泛型
-
getGenericClass
public static java.lang.Class<?>[] getGenericClass(java.lang.Class<?> clazz)
获得指定类型的泛型- Parameters:
clazz- 指定的类型- Returns:
- 这个类的泛型
-
getGenericClass
public static java.lang.Class<?>[] getGenericClass(java.lang.reflect.Type type)
获得指定类型的泛型- Parameters:
type- 指定的类型- Returns:
- 这个类的泛型
-
getGenericClass
public static java.lang.Class<?> getGenericClass(java.lang.reflect.Type type, int index)获得指定类型的泛型- Parameters:
type- 指定的类型index- 索引- Returns:
- 这个类型的泛型
-
loadClass
public static java.lang.Class<?> loadClass(java.lang.String className)
加载类- Parameters:
className- 类名- Returns:
- 获得的类
-
newProxyInstance
public static <E> E newProxyInstance(java.lang.Class<E> cls, java.lang.reflect.InvocationHandler handler)使用JDK代理生成代理类- Type Parameters:
E-- Parameters:
cls- 要生成代理的类接口handler- 代理方法处理器- Returns:
- 代理对象
-
forName
public static java.lang.Class<?> forName(java.lang.String className)
获得Class 会处理基础类型- Parameters:
className- Class名称- Returns:
- Class
-
newInstance
public static java.lang.Object newInstance(java.lang.String className, java.lang.Class<?>... parameterTypes)实例化对象- Parameters:
className- 类名parameterTypes- 参数类型- Returns:
- 实例化对象
-
newInstance
public static <E> E newInstance(java.lang.String className, E obj)实例化对象- Type Parameters:
E- 泛型- Parameters:
className- 类名obj- 默认值- Returns:
- 实例化对象
-
newInstance
public static <T> T newInstance(java.lang.Class<T> clazz, java.lang.Class<?>... parameterTypes)实例化对象- Type Parameters:
T- 泛型- Parameters:
clazz- 类parameterTypes- 参数类型- Returns:
- 实例化对象
-
newInstance
public static java.lang.Object newInstance(java.lang.String className)
使用Class的newInstance()方法实例一个对象 封装异常为运行时异常- Parameters:
className- 对象的类- Returns:
- 实例的对象
-
getPublicMethod
public static java.util.List<java.lang.reflect.Method> getPublicMethod(java.lang.Class<?> c)
获取本类下所有公用方法 不读取父类- Parameters:
c- 类- Returns:
- list
-
getPackageClasses
public static java.util.List<java.lang.Class<?>> getPackageClasses()
获得指定包下的所有Class- Returns:
- 类列表
-
getPackageClasses
public static java.util.List<java.lang.Class<?>> getPackageClasses(java.lang.String packageName)
获得指定包下的所有Class- Parameters:
packageName- 报名- Returns:
- 类列表
-
getClassLoader
public static java.lang.ClassLoader getClassLoader()
获得当前ClassLoader- Returns:
- ClassLoader
-
getInterfaces
public static java.util.List<java.lang.Class<?>> getInterfaces(java.lang.Class<?> c)
获得本类下的所有实现接口- Parameters:
c- 要获取的类- Returns:
- 本类实现的所有接口
-
getAnnotations
public static java.util.List<java.lang.annotation.Annotation> getAnnotations(java.lang.Class<?> c)
获得本类实现的注解- Parameters:
c- 要获取的类- Returns:
- 本类实现的所有注解
-
-