Java:在子类下使用带有枚举的开关语句
2022-08-31 04:44:05
首先,我要声明,我对C#中的枚举更熟悉,似乎Java中的枚举是一团糟。
如您所见,我在下一个示例中尝试使用 switch 语句 @ enums,但无论我做什么,我总是收到错误。
我收到的错误是:
合格的外壳标签必须替换为不合格的枚举常数
SomeClass.AnotherClass.MyEnum.VALUE_A
VALUE_A
问题是我非常理解这个错误,但我不能只写VALUE_A因为枚举位于另一个子类中。有没有办法解决这个问题?为什么在Java中会发生这种情况?
//Main Class
public class SomeClass {
//Sub-Class
public static class AnotherClass {
public enum MyEnum {
VALUE_A, VALUE_B
}
public MyEnum myEnum;
}
public void someMethod() {
MyEnum enumExample //...
switch (enumExample) {
case AnotherClass.MyEnum.VALUE_A: { <-- error on this line
//..
break;
}
}
}
}