enums - Java enum ordinal - Javaで文字列の値からenumの値を取得するには?

Java enum int / java

例えば、以下のような列挙をしたとします。

public enum Blah {
    A, B, C, D
}

Steve Chambers



Answer #1
public enum Blah {

    A, B, C, D;

    public static Blah getEnum(String s){
        if(A.name().equals(s)){
            return A;
        }else if(B.name().equals(s)){
            return B;
        }else if(C.name().equals(s)){
            return C;
        }else if (D.name().equals(s)){
            return D;
        }
        throw new IllegalArgumentException("No Enum specified for this string");
    }
}

System.out.println(Blah.getEnum("B").name());

// BBを出力します