Zuvor hatte ich meine Legno Aufzählungen definieren einfach als:Erster Enum mit int-Wert zugeordnet
NO_LEG, LEG_ONE, LEG_TWO
und durch return LegNo.values()[i];
Aufruf, ich war in der Lage, den Wert mit jedem Enum verbunden zu bekommen.
Aber jetzt habe ich beschlossen, ich will die LegNo
Enum NO_LEG
die int -1 statt 0 so habe ich beschlossen, einen privaten Konstruktor zu verwenden, zu initialisieren und setzen Sie den Wert int
NO_LEG(-1), LEG_ONE(1), LEG_TWO(2);
private LegNo(final int leg) { legNo = leg; }
die einzige Sache ist jetzt, dass, weil ich es so mache die values()
Methode wird nicht für die NO_LEG
enum funktionieren. Wie bekomme ich die enum mit dem int verbunden? Gibt es eine effiziente Möglichkeit, dies zu tun, außer eine case switch-Anweisung oder ein if-elseif-elseif zu verwenden? Ich kann eine Menge von SO-Fragen sehen, die mit dem Erhalten des int-Wertes aus der enum zu tun sind, aber das bin ich nach der Umkehrung.
sorry im nicht sicher, ob ich klar genug war. Ich möchte das Int übergeben und das Enum damit verbinden. –
@ L-Samuels Schätze ich habe deine Frage nicht richtig gelesen. Siehe mein Update. – adarshr
Ich weiß, das scheint offensichtlich, aber benutze es so: 'LegNo foo = LegNo.valueOf (2);'. Der vorherige Code wird eine 'LegNo.LEG_TWO' zurückgeben. – FirstOne