1. 程式人生 > >java開發中使用枚舉表述數據字典

java開發中使用枚舉表述數據字典

his 總結 枚舉 每一個 col 限制 系列 UC 類型

一.用枚舉表述數據字典

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.總結:

枚舉限制住了該類型的實例變量的個數和可能性,因為一個枚舉的實例變量在定義該枚舉時就確定了

java開發中使用枚舉表述數據字典