【发布时间】:2013-01-14 19:45:45
【问题描述】:
我正在尝试检查我的 VO 中设置了哪些值。
下面是我的课。我正进入(状态 "合格的案例标签 MyEnum.UserType.DOCTORS 必须替换为不合格的枚举常量 DOCTORS"
请帮我找出我在这里做错了什么。
MyEnum.java
public MyEnum{
private UserType userType;
public UserType getUserType(){
return userType;
}
public void setUserType(UserType userType){
this.userType = userType;
}
public static enum UserType{
DOCTORS("D"),
PATIENT("P"),
STAFF("S");
}
}
EnumTest.java
public EnumTest {
.....
public void onGoBack(MyEnum myEnum) {
switch(myEnum.getUserType())
{
case UserType.DOCTORS: // this shows "The qualified case label MyEnum.UserType.DOCTORS must be replaced with the unqualified enum constant DOCTORS"
break;
}
}
}
【问题讨论】:
-
按照编译器的建议尝试使用
case DOCTORS:。 -
你为什么不试着做错误信息说你应该做的事情?
-
我发现在 SO 中至少提出一次这个问题很有用,并且赞成票的数量意味着人们同意我的观点。这种语法非常不寻常,当你不在定义常量的类时可以使用非限定常量名。
-
这个错误还带有一些非常技术性的语言,许多人不会马上搞定。
标签: java enums switch-statement