public class ScanClassUtil extends Object
| 构造器和说明 |
|---|
ScanClassUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
static void |
findAndAddClassesInPackageByFile(String packageName,
String packagePath,
boolean recursive,
List<Class<?>> classes)
以文件的形式来获取包下的所有Class
|
static List<Class<?>> |
getClasses(String pack)
从包package中获取所有的Class。
|
static List<Class<?>> |
getClassSearchAnnotationsName(List<Class<?>> classList,
String annotationClassSimpleName)
从 指定的一堆
Class 中,找出类上有某个指定注解的类,放入 List 返回。 |
static void |
main(String[] args) |
static List<Class<?>> |
searchByInterfaceName(List<Class<?>> classList,
String interfaceName)
从 指定的一堆
Class 中,找出某个接口的实现类,放入 List 返回。 |
public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, SecurityException
public static List<Class<?>> searchByInterfaceName(List<Class<?>> classList, String interfaceName)
Class 中,找出某个接口的实现类,放入 List 返回。只要类中有过实现这个接口,便将这个类返回classList - 要找的一堆 ClassinterfaceName - 搜索实现的接口,如:com.xnx3.wangmarket.weixin.interfaces.AutoReplypublic static List<Class<?>> getClassSearchAnnotationsName(List<Class<?>> classList, String annotationClassSimpleName)
Class 中,找出类上有某个指定注解的类,放入 List 返回。
//使用如: List<Class <?>> c = getClassSearchAnnotationsName(classList, "PluginRegister");
classList - 要找的一堆 ClassannotationClassSimpleName - 注解的类的名字,如注解类为:public @interface PluginRegister {}
,则此处传入: PluginRegister ,不含包及路径,纯脆名字public static List<Class<?>> getClasses(String pack)
List<Class <?>> classList = getClasses("com.xnx3");
pack - 要搜索的包,如 com.xnx3Copyright © 2019. All rights reserved.