2

私はそのような列挙型を持っています:

public enum Lang {
    TR("tr"),
    EN("en"),
    SE("se");

 private String langName;

 private Lang(String langName) {
        this.langName = langName;
    }
}

別のクラスで langName が存在するかどうかを確認したい。getter メソッドを配置すると、langNames を反復処理できます。

for (Lang langEnum : Lang.values()) {
        langEnum.getLangName();
}

ただし、列挙型が長すぎる可能性があり、配列を反復処理したくありません。マップまたはセットを使用したい。一方、列挙型内で別の変数を使用したくありません。

列挙型に langName があるかどうかを確認するにはどうすればよいですか?

4

2 に答える 2

1

を使用してはvalueOfどうですか?

Lang lang = null;

try {
  lang = Lang.valueOf(enumName);
  // enum exists
} catch (IllegalArgumentException e) {
  // enum does not exist
}

列挙型名は言語名を大文字にしたものなので、言語名を大文字にして に渡すことができますvalueOf

于 2013-08-19T16:35:48.403 に答える