枚举的使用示例 (以性别为例)
一、枚举的创建
枚举的创建包含数字型的状态码和与之对应的字符串型的消息(类似于 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 “”;
}
}