我想创建一个包含一个属性的枚举,即扩展相同接口(interface)或相同抽象类的对象列表。 目标是在枚举的每个列表上都有一个循环来动态调用方法。
public interface Regles {
void verifier();
}
public class Regle01 implements Regles {
@Override
public void verifier() {
}
}
public class Regle02 implements Regles {
@Override
public void verifier() {
}
}
public enum ListRegles {
ENUM1(Arrays.asList(new Regle01(), new Regle02())),
ENUM2(Arrays.asList(new Regle01()))
private List<Regles> regles = new ArrayList<Regles>();
ListRegles(List<Regles> r) {
regles = r;
}
}
请问我该怎么做?
最佳答案
枚举:
public enum ListRegles {
ENUM1(new Regle01(),new Regle02()),
ENUM2(new Regle01());
private List<Regles> regles ;
ListRegles(Regles... regles) {
this.regles = new ArrayList<>(Arrays.asList(regles));
}
public void verify() {
for (Regles regle : regles) {
regle.verifier();
}
}
}
将调用 Regle01 和 Regle02 的验证程序
ListRegles.ENUM1.verify();
关于java - 使用同一对象的列表创建枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34507974/