我有一个带有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
但是出现以下错误:“需要常量表达式” 。
答案 0 :(得分:2)
您根本不需要职位,您可以直接在switch
上enum
。
public String operation(Option option, int chosenBox) {
switch(option) { // ...
}
如果您坚持将int
传递给方法,则可以
public String operation(int optionIndex, int chosenBox) {
Option option = Option.values()[optionIndex];
switch(option) { // ...
}