Previously, I had my LegNo enums defined simply as:
NO_LEG, LEG_ONE, LEG_TWO
and by calling return LegNo.values()[i];, I was able to get the value associated with each enum.
But now I've decided I want the LegNo enum NO_LEG to be the int -1 instead of 0
so I decided to use a private constructor to initialise and set its int value
NO_LEG(-1), LEG_ONE(1), LEG_TWO(2);
private LegNo(final int leg) { legNo = leg; }
the only thing now is that because I'm doing it this way the values() method will not work for the NO_LEG enum. How do I get the enum associated with the int? Is there any efficient way of doing this other than using a case switch statement or an if-elseif-elseif
I can see a lot of SO questions to do with getting the int value from the enum, but I'm after the reverse.