如果可能,修改getIndex()方法,使其返回枚举而不是整数.如果无法做到这一点,则需要将索引映射到枚举元素:
鉴于以下枚举:
public enum Index {
ONE,
TWO,
THREE...)
case ONE : …
break;
case TWO : …
break;
case THREE : …
break;
}
请注意,如果您尝试访问枚举中大于枚举元素数的索引(例如,在上面的示例中,...我将表达式Index.values()[getIndex()]封装到类似于valueOf(int index)的枚举方法中,类似于默认的valueOf(String s).然后,您还可以在那里处理有效的数组索引检查