com.xiaoleilu.hutool
类 ClassUtil

java.lang.Object
  继承者 com.xiaoleilu.hutool.ClassUtil

public class ClassUtil
extends Object

类工具类 1、扫描指定包下的所有类
参考 http://www.oschina.net/code/snippet_234657_22722

作者:
seaside_hi, xiaoleilu

嵌套类摘要
static interface ClassUtil.ClassFilter
          类过滤器,用于过滤不需要加载的类
 
方法摘要
static Class<?> castToPrimitive(Class<?> clazz)
          转换基本类型
static
<T extends Serializable>
T
cloneObj(T obj)
          克隆对象
static ClassLoader getClassLoader()
          获得class loader
若当前线程class loader不存在,取当前类的class loader
static Set<String> getClassPathResources()
          获得ClassPath
static Set<String> getClassPaths(String packageName)
          获得ClassPath
static ClassLoader getContextClassLoader()
           
static String[] getJavaClassPaths()
           
static Set<String> getMethods(Class<?> clazz)
          获得指定类中的Public方法名
去重重载的方法
static
<T> T
newInstance(String clazz)
           
static Object parse(Class<?> clazz, Object value)
          强制转换类型
static Object parseBasic(Class<?> clazz, String valueStr)
          转换基本类型
static Set<Class<?>> scanPackage(String packageName)
          扫面改包路径下所有class文件
static Set<Class<?>> scanPackage(String packageName, ClassUtil.ClassFilter classFilter)
          扫面包路径下满足class过滤器条件的所有class文件,
如果包路径为 com.abs + A.class 但是输入 abs会产生classNotFoundException
因为className 应该为 com.abs.A 现在却成为abs.A,此工具类对该异常进行忽略处理,有可能是一个不完善的地方,以后需要进行修改
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

scanPackage

public static Set<Class<?>> scanPackage(String packageName)
扫面改包路径下所有class文件

参数:
packageName - 包路径 com | com. | com.abs | com.abs.
返回:
类集合

scanPackage

public static Set<Class<?>> scanPackage(String packageName,
                                        ClassUtil.ClassFilter classFilter)
扫面包路径下满足class过滤器条件的所有class文件,
如果包路径为 com.abs + A.class 但是输入 abs会产生classNotFoundException
因为className 应该为 com.abs.A 现在却成为abs.A,此工具类对该异常进行忽略处理,有可能是一个不完善的地方,以后需要进行修改

参数:
packageName - 包路径 com | com. | com.abs | com.abs.
classFilter - class过滤器,过滤掉不需要的class
返回:
类集合

getMethods

public static final Set<String> getMethods(Class<?> clazz)
获得指定类中的Public方法名
去重重载的方法

参数:
clazz - 类

getClassPathResources

public static Set<String> getClassPathResources()
获得ClassPath

返回:
ClassPath集合

getClassPaths

public static Set<String> getClassPaths(String packageName)
获得ClassPath

参数:
packageName - 包名称
返回:
ClassPath路径字符串集合

getJavaClassPaths

public static String[] getJavaClassPaths()
返回:
获得Java ClassPath路径,不包括 jre

parse

public static Object parse(Class<?> clazz,
                           Object value)
强制转换类型

参数:
clazz - 被转换成的类型
value - 需要转换的对象
返回:
转换后的对象

parseBasic

public static Object parseBasic(Class<?> clazz,
                                String valueStr)
转换基本类型

参数:
clazz - 转换到的类
valueStr - 被转换的字符串
返回:
转换后的对象,如果非基本类型,返回null

castToPrimitive

public static Class<?> castToPrimitive(Class<?> clazz)
转换基本类型

参数:
clazz - 被转换为基本类型的类,必须为包装类型
返回:
基本类型类

getContextClassLoader

public static ClassLoader getContextClassLoader()
返回:
当前线程的class loader

getClassLoader

public static ClassLoader getClassLoader()
获得class loader
若当前线程class loader不存在,取当前类的class loader

返回:
类加载器

newInstance

public static <T> T newInstance(String clazz)

cloneObj

public static <T extends Serializable> T cloneObj(T obj)
克隆对象

参数:
obj - 被克隆对象
返回:
克隆后的对象
抛出:
IOException
ClassNotFoundException


Copyright © 2014. All rights reserved.