枚举的使用示例(以性别为例)

一、枚举的创建

枚举的创建包含数字型的状态码和与之对应的字符串型的消息(类似于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 "";
    }
}

RainNenya
65 声望1 粉丝