Java 通用枚举参数,其中枚举具有方法

标签 java enums

我有 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/

相关文章:

c++ - 将 null 从 C++/CLI 发送到托管 C#

c++ - 如何知道传递给函数的参数是 C++ 中的类、 union 还是枚举?

java - 不同的 Enum 方法参数

java - Maven 和 System.lineSeparator

java - 从 2 个字符串中删除重复字符

java - 使用正则表达式获取字符串中可能最短的组

Objective-C:typedef NS_ENUM 错误

.net - 使用 ADO.NET Entity Framework 从表中存在的值生成枚举

java - Spring Boot 1.5.x 未写入logging.file处的文件

java - 如何将具有多个覆盖的 valueOf 方法作为参数传递给方法