1. ホーム
  2. java

[解決済み] Java で Int を enum にキャストする

2022-03-15 21:30:54

質問

次のenumがある場合、JavaでIntをenumにキャストする正しい方法は何ですか?

public enum MyEnum
{
    EnumValue1,
    EnumValue2
}


MyEnum enumValue = (MyEnum) x; //Doesn't work???

解決方法は?

試す MyEnum.values()[x] ここで x は必ず 0 または 1 つまり、その列挙型の有効な序数である。

Javaでは、enumはクラスであり(enumの値はオブジェクトであり)、enumの値をキャストすることはできないことに注意してください。 int あるいは Integer をenumに変換します。