Obtener enumeración asociada con el valor int
Anteriormente, tenía mis enumeraciones de LegNo definidas simplemente como:
NO_LEG, LEG_ONE, LEG_TWO
y llamandoreturn LegNo.values()[i];
, Pude obtener el valor asociado con cada enumeración.
Pero ahora he decidido que quiero elLegNo
enumerarNO_LEG
para ser el int -1 en lugar de 0, así que decidí usar un constructor privado para inicializar y establecer su valor int
NO_LEG(-1), LEG_ONE(1), LEG_TWO(2);
private LegNo(final int leg) { legNo = leg; }
Lo único ahora es que porque lo estoy haciendo de esta manera elvalues()
método no funcionará para elNO_LEG
enumerar ¿Cómo obtengo la enumeración asociada con el int? ¿Hay alguna forma eficiente de hacer esto que no sea usar una sentencia de cambio de caso o un if-elseif-elseif
Puedo ver muchas preguntas de SO relacionadas con la obtención del valor int de la enumeración, pero estoy detrás de lo contrario.