枚举的使用示例

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理