如何匹配并将字符串切换为枚举?

这个问题在这里已经有了答案:

  • 通过字符串值查找Java枚举23个答案

  • 首先, Letter必须是一个枚举:

    enum Letter {
        A, B, C
    }
    
    Letter letter = Letter.valueOf("A")
    // and just switch
    switch (letter) {
        case A:
        case B:
        case C:
    }
    

    你可以这样做:

    String letter = "A";
    switch (Letter.valueOf(letter)) {
        case A: // No problem!
        case B:
        case C:
        default:
    }
    

    关于ideone的演示。


    首先让该枚举代替类替换为此

    Letter obj = Letter.valueOf(letter);
    switch (obj) {
        case A: //cannot convert from Letter to String
        case B: //case expressions must be constant expressions
        case C: //case expressions must be constant expressions
        default:
    
    链接地址: http://www.djcxy.com/p/38089.html

    上一篇: How to match and switch Strings against enums?

    下一篇: Access enums through command line