8
获取与int值关联的枚举
以前,我将LegNo枚举定义为: NO_LEG, LEG_ONE, LEG_TWO 通过调用return LegNo.values()[i];,我可以获得与每个枚举关联的值。 但是现在我决定让LegNo枚举NO_LEG是int -1而不是0,所以我决定使用私有构造函数进行初始化并设置其int值 NO_LEG(-1), LEG_ONE(1), LEG_TWO(2); private LegNo(final int leg) { legNo = leg; } 现在唯一的事情就是因为我这样做,所以该values()方法不适用于NO_LEG枚举。我如何获得与int相关联的枚举?除了使用case switch语句或if-elseif-elseif之外,还有其他有效的方法吗? 我可以看到很多与从枚举获取int值有关的SO问题,但我反其道而行之。