Zuvor hatte ich meine LegNo-Aufzählungen einfach wie folgt definiert:
NO_LEG, LEG_ONE, LEG_TWO
und durch einen Anruf return LegNo.values()[i];
konnte ich den Wert erhalten, der jeder Aufzählung zugeordnet ist.
Aber jetzt habe ich beschlossen, dass die LegNo
Aufzählung NO_LEG
int -1 statt 0 sein soll, also habe ich beschlossen, 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, ist, dass die values()
Methode für die NO_LEG
Aufzählung nicht funktioniert , weil ich es so mache . 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 kann viele SO-Fragen sehen, die damit zu tun haben, den int-Wert aus der Aufzählung zu erhalten, aber ich bin hinter dem Gegenteil her.