以前は、LegNo列挙型を次のように定義していました。
NO_LEG, LEG_ONE, LEG_TWO
を呼び出すことでreturn LegNo.values()[i];
、各列挙型に関連付けられた値を取得できました。
しかし、今ではLegNo
enum NO_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を使用する以外に、これを行う効率的な方法はありますか
enumからのint値の取得に関連する多くのSOの質問を見ることができますが、その逆です。