Java 列挙型にプロパティを追加したときのエラーの解決方法

Java の enum クラスに直接プロパティを追加することはできません。enum 定数は限定的で事前に定義されており、インスタンス化や独自のプロパティのカスタマイズはサポートされていません。ただし、enum 定数内にプロパティ値を定義することで、似たような効果を得ることができます。以下はその解決策です。

  1. 列挙型定数中で属性値を定義する:
public enum MyEnum {
CONSTANT1("Value1"),
CONSTANT2("Value2"),
CONSTANT3("Value3");
private final String value;
private MyEnum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
  1. 列挙型でプロパティを取得するためのメソッドを定義する:
public enum MyEnum {
CONSTANT1,
CONSTANT2,
CONSTANT3;
public String getValue() {
switch (this) {
case CONSTANT1:
return "Value1";
case CONSTANT2:
return "Value2";
case CONSTANT3:
return "Value3";
default:
return null;
}
}
}

このようにして列挙定数に属性値を追加して、メソッドを通して属性値を取得できるようになります。

bannerAds