Uzyskiwanie wyliczenia związanego z wartością int

Wcześniej miałem swoje wyliczenia LegNo zdefiniowane po prostu jako:

NO_LEG, LEG_ONE, LEG_TWO

i dzwoniącreturn LegNo.values()[i];, Udało mi się uzyskać wartość powiązaną z każdym wyliczeniem.

Ale teraz zdecydowałem, że chcęLegNo enumNO_LEG być int -1 zamiast 0, więc zdecydowałem się użyć prywatnego konstruktora do zainicjowania i ustawienia jego wartości int

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

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

Jedyną rzeczą jest teraz to, że robię to w ten sposóbvalues() metoda nie będzie działać dlaNO_LEG enum. Jak uzyskać wyliczenie powiązane z int? Czy jest jakiś skuteczny sposób na wykonanie tego inaczej niż użycie instrukcji przełączania spraw lub if-elseif-elseif

Widzę wiele pytań związanych z SO, aby uzyskać wartość int z enum, ale jestem po odwrotnej stronie.

questionAnswers(8)

yourAnswerToTheQuestion