将包内容读入一个类数组

时间:2014-03-27 21:09:55

标签: java

是否可以将包的内容读入Class对象数组?目前我的代码

中的内容如下所示
static Class<?>[] classArray = {
        ServerNameRsp.class,
        ConfigCompleteRsp.class};

两者都是&#39; ServerNameRsp&#39;和&#39; ConfigCompleteRsp&#39;在相同的包中,随着包的增长,不必将所有添加的类硬编码到该数组中是理想的。有没有办法读取包的内容?

1 个答案:

答案 0 :(得分:2)

如果您使用Reflections java库,则可以执行以下操作:

SubTypesScanner sts = new SubTypesScanner(false); /* false means include direct Object subtypes in results.*/
Reflections reflections = new Reflections("Your.package.name", sts);
Set<Class<? extends Object>> classes = reflections.getSubTypesOf(Object.class);
for (Class<? extends Object> clazz : classes) {
    System.out.println(clazz);
}