Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 访问枚举元素的位置_Java - Fatal编程技术网

Java 访问枚举元素的位置

Java 访问枚举元素的位置,java,Java,我有一个Enum文件,在Java中有几个值。在我的主程序中,我有一个函数,该函数接收一个整数作为参数,并且我必须根据该值执行不同的操作,该值与枚举元素的数目相同 我正在做以下工作: public String operation(int option, int chosenBox){ String result = ""; switch(option){ case 0: model.startGame(this.playersName);

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

我正在做以下工作:

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;
我需要更改案例的选项以指向枚举的元素而不是数字,因为有时我需要在枚举中添加一个元素,最终需要更改所有数字

枚举名为菜单选项,我尝试过这样做:

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

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

您根本不需要该位置,您可以直接在
枚举上切换

public String operation(Option option, int chosenBox) {
    switch(option) { // ...
}
如果您坚持将
int
传递给该方法,您可以这样做

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

您根本不需要该位置,只需直接在
枚举上切换

public String operation(Option option, int chosenBox) {
    switch(option) { // ...
}
如果您坚持将
int
传递给该方法,您可以这样做

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

非常感谢。成功了。我必须传递一个整数,所以,这就是我问的原因。谢谢!成功了。我必须传递一个整数,所以,这就是我问的原因。