获取包中的所有类,并将它们转换为FooBar变量

时间:2014-04-28 07:03:46

标签: class arraylist

我的包中有很多类都扩展为FooBar,我希望创建一个ArrayList<FooBar>变量。

到目前为止,我刚刚在启动时将它们逐个添加到ArrayList中,我讨厌它,因为我经常忘记将它添加到列表中。

1 个答案:

答案 0 :(得分:0)

对我来说听起来像Java。获取包中的所有类是很棘手的,因为您必须使用Java Reflection API。您可以使用Reflections(http://code.google.com/p/reflections/)执行此操作。

 Reflections reflections = new Reflections("my.project.prefix");

 Set<Class<? extends FooBar>> subTypes = reflections.getSubTypesOf(FooBar.class);