java开发中使用枚举表述数据字典

时间:2020-12-22 20:42:14

一.用枚举表述数据字典

1.代码:

package com.inspire.jdk.caculate;

/**
* Created by yaming
* 用枚举表述常量数据字段
*/
public enum StateEnum {
   //使用构造方法创建对象,每一个都是StateEnum的实例
SUCCESS(1, "成功"),
FAILED(0, "失败"); private int state;
private String stateInfo; public int getState() {
return state;
}
public String getStateInfo() {
return stateInfo;
} StateEnum(int state, String stateInfo){
this.state = state;
this.stateInfo = stateInfo;
} /**
* 根据int类型的index,找到对应StateEnum
* @param index
* @return
*/
public static StateEnum stateOf(int index){
for (StateEnum state:values()){
if (state.getState()==index){
return state;
}
}
return null;
} /**
* 根据int类型的index,找到对应的String的值
* @param index
* @return
*/
public static String valuesOf(int index){
for (StateEnum state:values()){
if (state.getState()==index){
return state.getStateInfo();
}
}
return "null";
} }

2.java中的枚举类(enum)和java中的普通类(class)一样,只是预先定义了一系列的示例变量

如:
public enum Color {
// 每个变量都是 Color 的一个示例
RED, YELLOW, BLUE;
}

  2.1 所以枚举内部直接就可以书写示例变量,如RED,YELLOW,BLUE.
  2.2 枚举有一些自然获得的成员方法,Color.values()方法

  2.3 枚举类和普通类相似的一个依据就是,枚举也可以含有构造函数

3.总结:

枚举限制住了该类型的实例变量的个数和可能性,因为一个枚举的实例变量在定义该枚举时就确定了