java - 枚举中的枚举

标签 java enums

我想在枚举中为 java 中的 sql 查询创建一个枚举。例如,我想说 table.create ,它会返回 CREATE TABLE 或 database.create ,它会返回 CREATE DATABASE。我该怎么做?

enum SQL {
    table("ALTER,CREATE"),
    database("CREATE");
}

最佳答案

在枚举中定义一个枚举:

public static enum SQL {
    table(Command.ALTER,Command.CREATE),
    database(Command.CREATE);
    public static enum Command {
        CREATE,
        ALTER
    }
    private final Command[] commands;
    private SQL (Command... commands) {
        this.commands = commands;
    }
    public Command[] getCommands() {
        return commands;
    }
}

尽管您可以这样做,但最好在它自己的类/文件中声明 Command 枚举。我以前从未见过有人在 另一个枚举中声明一个枚举...我几乎喜欢它。

关于java - 枚举中的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8069929/

相关文章:

java - Android 应用程序在 setText 上崩溃

java - 如何管理递归函数?

c++ - 帮助,澄清我对不合格名称查找 :ISO n3290 Draft 的疑问

java - Android:如何将枚举标签添加到微调器,而不是 enum.values()?

java - 为什么需要覆盖对象的克隆方法

java - 井字游戏。工作不正常

java - Jasper Reports 生成空白 pdf

swift - Swift 枚举可以作为变量引用吗?

枚举类型 "The public type EngineType must be defined in its own file Car.java"的 Java 编译错误

java - 可以使用 lambda 表达作为 Function 的枚举的实现吗?