首先,我要说的是,我对C#中的枚举更为熟悉,而java中的枚举似乎相当混乱.
正如你所看到的,在我的下一个例子中,我试图使用switch语句@enums,但无论我做什么,我总是会得到一个错误.
The error I receive is:个
合格 case 标签
SomeClass.AnotherClass.MyEnum.VALUE_A
必须替换为不合格枚举常量VALUE_A
问题是我quite理解错误,但我不能只写值_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;
}
}
}
}