假设我想迭代实现某个接口的所有声明的枚举类。
所以我有:
enum Fruit implements Edible {
//etc
}
enum Vegetable implements Edible {
//etc
}
enum Candy implements Edible {
//etc
}
Java中是否有一种方法可以遍历实现Edible接口的所有枚举类?我认为这需要反思。使用标准的Java类,我不相信有办法做到这一点(找到所有类的子类,或者找到实现某个接口的所有类)但是使用枚举,应该< / em>是一种在Java中执行此操作的方法。
答案 0 :(得分:2)
scan through all classes in classpath并检查是否isEnum()
并检查getInterfaces()
是否包含Editable.class
或检查Editable.class.isAssignableFrom(ClassToCheck)(如评论中所述)