一.用枚举表述数据字典
1.代码:
1package com.inspire.jdk.caculate; 2 3/** 4 * Created by yaming 5 * 用枚举表述常量数据字段 6 */ 7public enum StateEnum { //使用构造方法创建对象,每一个都是StateEnum的实例 8 SUCCESS(1, "成功"), 9 FAILED(0, "失败"); 10 11 12 private int state; 13 private String stateInfo; 14 15 public int getState() { 16 return state; 17 } 18public String getStateInfo() { 19 return stateInfo; 20 } 21 22 23 StateEnum(int state, String stateInfo){ 24 this.state = state; 25 this.stateInfo = stateInfo; 26 } 27 28 /** 29 * 根据int类型的index,找到对应StateEnum 30 * @param index 31 * @return 32 */ 33 public static StateEnum stateOf(int index){ 34 for (StateEnum state:values()){ 35 if (state.getState()==index){ 36 return state; 37 } 38 } 39 return null; 40 } 41 42 /** 43 * 根据int类型的index,找到对应的String的值 44 * @param index 45 * @return 46 */ 47 public static String valuesOf(int index){ 48 for (StateEnum state:values()){ 49 if (state.getState()==index){ 50 return state.getStateInfo(); 51 } 52 } 53 return "null"; 54 } 55 56 57}
2.java中的枚举类(enum)和java中的普通类(class)一样,只是预先定义了一系列的示例变量
1如: 2public enum Color { 3// 每个变量都是 Color 的一个示例 4RED, YELLOW, BLUE; 5}
2.1 所以枚举内部直接就可以书写示例变量,如RED,YELLOW,BLUE.
2.2 枚举有一些自然获得的成员方法,Color.values()方法
2.3 枚举类和普通类相似的一个依据就是,枚举也可以含有构造函数
3.总结:
枚举限制住了该类型的实例变量的个数和可能性,因为一个枚举的实例变量在定义该枚举时就确定了