我必须为所有开关情况定义枚举。我不知道在涉及位置时如何关联枚举。以下是我的代码:
public enum Choice {
A, B, C
}
public void selectItem(int position) {
switch (position) {
// Dashboard
case 0:
break;
case 1:
break;
}
}
最佳答案
您需要将int位置转换为相应的枚举。默认情况下,每个枚举值都有一个序号。在choice枚举中,a具有序数零等。
public class TestMain {
public enum Choice {
A, B, C
}
public static void main(String[] args) {
selectItem(0);
}
public static void selectItem(int position) {
Choice selectedChoice = null;
selectedChoice = getChoiceFromPosition(position, selectedChoice);
switch (selectedChoice) {
//Dashboard
case A:
System.out.println(selectedChoice.ordinal());
break;
case B:
break;
case C:
break;
}
}
private static Choice getChoiceFromPosition(int position, Choice selectedChoice) {
for(Choice c : Choice.values()){
if(c.ordinal() == position) {
selectedChoice =c;
}
}
return selectedChoice;
}
}