0

次の列挙型があるとします。

public enum FooBar {
  One, Two, Three
}

文字列の対応する列挙値を取得したいと思います。「Two」と言って、FooBar.Two を取得します。

Javaでこれを行うにはどうすればよいですか? Enum.ValueOf()関係ないようです。

4

4 に答える 4

6

文字列「Two」があり、その値が必要です。

これを行うには、valueOfたとえば使用します

MyEnum me = MyEnum.valueOf("Two");

また

MyEnum me = Enum.valueOf(MyEnum.class, "Two");

Enum.ValueOf() は関連していないようです。

それはまさにあなたが望むものであるようです。


どちらでも使用できます

String s = myEnum.toString();

また

String s = myEnum.name();

を使用toString()して、任意のオブジェクトを文字列に変換できます。(その文字列が意味をなさないかどうかは、実装に依存します;)

于 2013-01-29T21:39:01.957 に答える
0

次のコードを試してください:

enum FooBar
{
    One,Two,Three;
}
public class EnumByName
{
    public static void main(String stp[])
    {
        String names[] = {"One","Two","Three"};
        for (String name : names)
        {
            FooBar fb = Enum.valueOf(FooBar.class,name);
            System.out.println(fb);
        }

    }
}
于 2013-01-29T22:13:34.133 に答える