31

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;

        }
    }

}
4

1 に答える 1

52

コンパイラは switch ステートメントで評価している列挙型のタイプを認識しているため、エラーが示唆するように「修飾された」部分を削除し (あなたの場合: MyEnum.UserType.)、単に「修飾されていない」 enum を使用する必要がありDOCTORSます。下記参照:

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