如何使用数字形状的String创建枚举类

use*_*222 1 java enums

首先,谢谢你的帮助!!

我想用Enumeration类做的是餐馆菜单.菜单组件有自己的id,即number和name.

001("Pasta"),
002("Pizza"),
003("Nuddle"),
004("Steak"),
005("Rice")
Run Code Online (Sandbox Code Playgroud)

上面的代码我的第一个想法但是,我得到了错误,所以我认为只有String值可以是Enumeration的组件.所以,我改变了下面的代码,但它又产生了错误.

"001"("Pasta"),
"002"("Pizza"),
"003"("Nuddle"),
"004"("Steak"),
"005"("Rice")
Run Code Online (Sandbox Code Playgroud)

这些数字只是食物的ID,所以它可以有String类型.我该怎么做?

Rap*_*oth 5

枚举名称不能以数字开头.如果你想使用Enums,我建议使用这样的东西:

public enum Food {
    PASTA("Pasta", 1),
    PIZZA("Pizza", 2);


    /** state variables */
    private String name;
    private int id;

    /** Constructor */
    Food(String name, int id) {
        this.name=name;
        this.id=id;
    }


    /** Accessors */
    public String getName() {
        return name;
    }

    public int getId() {
        return id;
    }

}
Run Code Online (Sandbox Code Playgroud)