Die mit dem int-Wert verknüpfte Aufzählung erhalten

Zuvor hatte ich meine LegNo-Enums einfach definiert als:

NO_LEG, LEG_ONE, LEG_TWO

und telefonischreturn LegNo.values()[i];Konnte ich den mit jeder Aufzählung verknüpften Wert ermitteln.

Aber jetzt habe ich beschlossen, dass ich das willLegNo enumNO_LEG Um das int -1 anstelle von 0 zu sein, entschied ich mich, einen privaten Konstruktor zu verwenden, um seinen int-Wert zu initialisieren und festzulegen

NO_LEG(-1), LEG_ONE(1), LEG_TWO(2);

private LegNo(final int leg) { legNo = leg; }

das einzige was jetzt ist das weil ich es so mache dasvalues() Methode funktioniert nicht für dieNO_LEG enum. Wie erhalte ich die mit dem int verknüpfte Aufzählung? Gibt es eine effiziente Möglichkeit, dies zu tun, außer eine case switch-Anweisung oder ein if-elseif-elseif zu verwenden?

Ich sehe viele SO-Fragen, die mit dem Abrufen des Int-Werts aus der Enumeration zu tun haben, aber ich bin hinter dem Gegenteil her.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage