以前は、LegNo 列挙型を単純に次のように定義していました。
NO_LEG, LEG_ONE, LEG_TWO
を呼び出すことreturn LegNo.values()[i];
で、各列挙型に関連付けられた値を取得できました。
しかし、今はLegNo
enumNO_LEG
を 0 ではなく int -1 にすることに決めたので、プライベート コンストラクターを使用してその int 値を初期化および設定することにしました
NO_LEG(-1), LEG_ONE(1), LEG_TWO(2);
private LegNo(final int leg) { legNo = leg; }
唯一のことは、私がこのようにしているため、列挙型values()
に対してメソッドが機能しないということです。NO_LEG
int に関連付けられた列挙型を取得するにはどうすればよいですか? case switch ステートメントまたは if-elseif-elseif を使用する以外に、これを行う効率的な方法はありますか
列挙型から int 値を取得することに関連する多くの SO の質問を見ることができますが、私はその逆です。