枚举的使用示例

10次阅读

共计 974 个字符,预计需要花费 3 分钟才能阅读完成。

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

正文完
 0