最佳答案
以前,我将 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 外,还有其他有效的方法吗
我可以看到很多关于从枚举中获取 int 值的 SO 问题,但我想要的是相反的结果。