Obtendo enum associado ao valor int
Anteriormente, eu tinha meus enums LegNo definidos simplesmente como:
NO_LEG, LEG_ONE, LEG_TWO
e chamandoreturn LegNo.values()[i];
, Consegui obter o valor associado a cada enum.
Mas agora eu decidi que quero oLegNo
enumNO_LEG
para ser o int -1 em vez de 0, então eu decidi usar um construtor privado para inicializar e definir seu valor int
NO_LEG(-1), LEG_ONE(1), LEG_TWO(2);
private LegNo(final int leg) { legNo = leg; }
a única coisa agora é que, porque eu estou fazendo assim ovalues()
método não vai funcionar para oNO_LEG
enum. Como obtenho o enum associado ao int? Existe alguma maneira eficiente de fazer isso além de usar uma instrução de troca de caso ou um if-elseif-elseif
Eu posso ver um monte de perguntas sobre o SO para obter o valor int do enum, mas eu estou atrás do reverso.