我有 2 个或多个枚举,每个枚举具有相同的方法。我需要使用所有这些枚举来验证另一个类中的消息。每个枚举都有相同的方法。我了解如何将枚举作为通用参数传递,但我不相信可以在接收枚举作为通用枚举的方法中调用该枚举的方法。
最佳答案
就像其他类一样,枚举可以实现接口(interface)。
interface CanThing {
void doThing();
}
enum Validate implements CanThing {
ONE_THING {
@Override
public void doThing() {
System.out.println("One thing");
}
},
OTHER_THING;
// Default.
@Override
public void doThing() {
System.out.println("No thing");
}
}
public void doAThing(CanThing thing) {
thing.doThing();
}
public void test(String[] args) {
for (CanThing t: Validate.values()) {
doAThing(t);
}
}
关于Java 通用枚举参数,其中枚举具有方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48901121/