将一种有用的模式与一种反模式一起应用通常会失败;-)
在您的情况下,如果要用值替换
int常量,
enum则将数组用于非真正的类数组数据会带来问题。
干净(ER)解决方案会是这样一个
EnumMap与
enum值作为键。
或者,
table[COL_NAME.ordinal()]如果绝对必要,可以使用。
如果某些API强迫您传递
int值,但是您可以控制实际值(即可以传递自己的常量),那么您可以切换为
enum在代码中使用值,并
enum仅在代码接口的地方进行来回转换。使用API。的相反操作
enumValue.ordinal()是
EnumClass.values()[ordinal])。



