访问枚举元素的位置

时间:2018-12-13 11:32:30

标签: java

我有一个带有Java值的Enum文件。在我的主程序中,我有一个函数,该函数接收整数作为参数,并且我必须根据该值执行不同的操作,该值与枚举元素的数量相同。

我正在执行以下操作:

public String operation(int option, int chosenBox){
    String result = "";

    switch(option){
        case 0:
            model.startGame(this.playersName);
            result = "...";
            break;
        case 1:
            model.play();
            result = "...";
            break;

我需要更改案例的选项以指向枚举的元素而不是数字,因为有时我需要在枚举中添加一个元素,并且最终需要更改所有数字。

枚举称为 MenuOption ,而我尝试这样做:

case OpcionMenu.PLAY.ordinal(): // This is for case 0

但是出现以下错误:“需要常量表达式”

1 个答案:

答案 0 :(得分:2)

您根本不需要职位,您可以直接在switchenum

public String operation(Option option, int chosenBox) {
    switch(option) { // ...
}

如果您坚持将int传递给方法,则可以

public String operation(int optionIndex, int chosenBox) {
    Option option = Option.values()[optionIndex];
    switch(option) { // ...
}