Java:在子类下使用带有enum的switch语句

首先,我要说的是,我对C#中的枚举更为熟悉,而java中的枚举似乎相当混乱

如您所见,在下一个示例中,我尝试使用switch语句@enums,但无论我做什么,我总是会遇到错误

我收到的错误是:

必须将限定的事例标签SomeClass.AnotherClass.MyEnum.VALUE\u A替换为非限定的枚举常量VALUE\u A

问题是我非常理解这个错误,但是我不能只写值_A,因为枚举位于另一个子类中。有没有办法解决这个问题?为什么它会发生在Java中

//主类
公共类{
//子类
公共静态类另一个类{
公共枚举髓鞘{
价值A,价值B
}    
公共髓鞘;
}
公共方法(){
MyEnumExample/。。。
交换机(示例){
case AnotherClass.MyEnum.VALUE_A:{<--此行出错
//..
打破
}
}
}
}

将其更改为:

开关(示例){
案例值_A:{
//..
打破
}
}

线索在错误中。不需要使用枚举类型限定case标签,只需限定其值即可

发表评论