属性ごとに列挙オブジェクトを取得する方法をJavaで実装

Javaでは、列挙定数オブジェクトを列挙定数の属性値から取得するために、Enum.valueOf()メソッドを使用できます。

列挙体クラスColorがあったとして、色の属性値を格納し、列挙体オブジェクトは次のように取得できます。

enum Color {
RED("红色"),
BLUE("蓝色"),
GREEN("绿色");
private String value;
Color(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}

属性値からEnumオブジェクトを取得するには、Enum.valueOf()メソッドを使用できます。

String value = "蓝色";
Color color = Enum.valueOf(Color.class, value);

上記の例では、Enum.valueOf()メソッドは、列挙型のClassオブジェクトとフィールド値の2つのパラメータを受け取ります。フィールド値に一致する列挙オブジェクトを返します。一致する列挙オブジェクトが見つからない場合、IllegalArgumentException例外がスローされます。

注意事項:

  1. 属性値は、大文字小文字の違いも含め、Enum 定数の属性値と完全に一致している必要があります。
  2. Enum.valueOf()メソッドは例外をスローするため、あらかじめtry – catchブロックで例外処理をしておいたほうがよい。

お役に立てば幸いです。

bannerAds