首先,我要说的是,我对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标签,只需限定其值即可