如何匹配和切换字符串与枚举?

mem*_*und -1 java enums

我想将String转换为枚举.但是怎么样?

class Letter {
    A, B, C
}

String letter = "A";
switch (letter) {
    case Letter.A: //cannot convert from Letter to String
    case Letter.A.toString(): //case expressions must be constant expressions
    case Letter.C.name(): //case expressions must be constant expressions
    default:
}
Run Code Online (Sandbox Code Playgroud)

Ren*_*ink 5

首先Letter必须是枚举:

enum Letter {
    A, B, C
}

Letter letter = Letter.valueOf("A")
// and just switch
switch (letter) {
    case A:
    case B:
    case C:
}
Run Code Online (Sandbox Code Playgroud)