列舉的使用示例
列舉的使用示例(以性別為例)
一、列舉的建立
列舉的建立包含數字型的狀態碼和與之對應的字串型的訊息(類似於HTTP響應中的響應碼和響應訊息)。
建立帶參的建構函式。並生成get、set方法,此處略……
二、建立獲取訊息的方法(getMsgByStatus)
在列舉中增加一個方法用於通過數字型的狀態碼獲取對應的訊息(類似於map中通過key來找value)。
三、列舉的使用
使用時將列舉看成一個類,列舉的每一個元素看成一個靜態屬性,通過列舉名引用。
- 增刪改(DML)操作時取列舉元素的數字型狀態屬性,存入資料庫。
- 查詢時從資料庫中取到之前存入的數字型狀態屬性,然後傳入對應列舉中的getMsgByStatus方法(步驟2中自定義),獲取字串型的訊息屬性值用於顯示即可。
四、GenderEnum
public enum GenderEnum { /** * 1 表示男 * 2 表示女 */ MALE(1, "男"), FEMALE(2, "女"); /** * 數字型的狀態碼 */ private int status; /** * 字串型的訊息 */ private String message; private GenderEnum(int status, String message) { this.status = status; this.message = message; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } /** * 根據數字型的狀態碼(key) 獲取字串型的訊息(value) * @param status 數字型的狀態碼(key) * @return 字串型的訊息(value) */ public static String getMsgByStatus(Integer status){ GenderEnum[] enums = GenderEnum.values(); for (int i = 0; i < enums.length; i++) { return enums[i].getMessage(); } return ""; } }