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