Java 访问枚举元素的位置
我有一个Enum文件,在Java中有几个值。在我的主程序中,我有一个函数,该函数接收一个整数作为参数,并且我必须根据该值执行不同的操作,该值与枚举元素的数目相同 我正在做以下工作:Java 访问枚举元素的位置,java,Java,我有一个Enum文件,在Java中有几个值。在我的主程序中,我有一个函数,该函数接收一个整数作为参数,并且我必须根据该值执行不同的操作,该值与枚举元素的数目相同 我正在做以下工作: public String operation(int option, int chosenBox){ String result = ""; switch(option){ case 0: model.startGame(this.playersName);
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) { // ...
}
非常感谢。成功了。我必须传递一个整数,所以,这就是我问的原因。谢谢!成功了。我必须传递一个整数,所以,这就是我问的原因。