31

我正在尝试检查我的 VO 中设置了哪些值。

下面是我的课。我得到“合格的案例标签 MyEnum.UserType.DOCTORS 必须替换为不合格的枚举常量 DOCTORS

请帮助我确定我在这里做错了什么。

我的枚举.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");
    }

}

枚举测试.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;

        }
    }

}
4

1 回答 1

52

由于编译器知道您在 switch 语句中评估的枚举类型,因此您应该按照错误提示(在您的情况下为:)删除“合格”部分,MyEnum.UserType.并简单地使用“不合格”枚举DOCTORS。见下文:

switch(myEnum.getUserType())
{
    case DOCTORS: 
        break;
}
于 2013-01-14T19:47:19.077 回答