一.用枚举表述数据字典
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.总结:
枚举限制住了该类型的实例变量的个数和可能性,因为一个枚举的实例变量在定义该枚举时就确定了