java - 使用同一对象的列表创建枚举

标签 java list enums

我想创建一个包含一个属性的枚举,即扩展相同接口(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/

相关文章:

java - 约束注释类型

java - 使用其他 JSON 对象过滤 JSON 中的键和值

r - R 中的抓取列表

python - 打开元素包装并添加新元素

java - 如何在java中的单例(Enum风格)上调用私有(private)方法?

java - 带有静态初始值设定项的枚举错误

java - 以 For Each 样式迭代 HashMap

尝试将表单数据注入(inject)数据库时​​出现 javax.ejb.EJBException

r - 在 R 中,除了使用 for 循环之外,是否有一种快速方法可以从列表中选择不在另一个列表中的所有数字?

c++ - 如何使用 protobuf 描述符读取枚举