我的包中有很多类都扩展为FooBar
,我希望创建一个ArrayList<FooBar>
变量。
到目前为止,我刚刚在启动时将它们逐个添加到ArrayList
中,我讨厌它,因为我经常忘记将它添加到列表中。
答案 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);