2017-08-29 34 views
-5

値の代わりに名前を検索することで列挙型を取得できますか?たとえば、次のようにjava enumを名前で取得する

public enum MyEnum { 
    TOTO("some value", 1); 
    ZOZO("some other value", 2); 
}  

そして、何私がやりたいようにゲッターさ:

public static MyEnum getByName(String str) { 
    [...] 
} 

は、だから私は行うことができます。

MyEnum foo = MyEnum.getByName("TOTO"); 
MyEnum bar = MyEnum.getByName("ZOZO"); 
+0

組み込みの「MyEnum.valueOf(name)」を使用してください。 –

答えて

2

各Java列挙型がで列挙を返すメソッドvalueOf(String name)を持っています名。

MyEnum foo = MyEnum.valueOf("TOTO"); 
MyEnum bar = MyEnum.valueOf("ZOZO"); 
+0

この回答に間違いがありますか? – xenteros

+0

私はjavadocを誤解しました...しかし、この場合、 'MyEnum.valueOf(MyEnum.class、" TOTO ")'を使用する方が良いでしょうか? – Dynamite

+0

@Dynamiteその理由はありません。私を信頼してください: – xenteros

関連する問題