如果可能,修改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).然后,您还可以在那里处理有效的数组索引检查...return REG;
}
if (index >= values().length) {
return INVALID;
}
return values()[index];
}
}
这仅是一个示例...– 在任何情况下,它通常取决于您从getIndex()方法获得的值的范围,以及您希望如何将它们映射到枚举元素.