侧边栏壁纸
  • 累计撰写 35 篇文章
  • 累计创建 58 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

Java中枚举类型的简单使用

Wonder
2020-09-12 / 0 评论 / 0 点赞 / 32 阅读 / 282 字 / 正在检测是否收录...

为了代码的可读性和可维护性,我们经常需要在项目中构建枚举类,而不是直接使用code+message的形式,本文简要记录一下本人在项目中常用的方式。

此类为判断一个服务器上引擎状态是否可用的枚举类,具体操作见以下代码及注释:

/**
 * 算法资源枚举类
 */
public enum ResourceStatusEnum {
    /**
     * 1
     * 正常
     */
    NORMAL(1, "正常"),
    /**
     * 2
     * 告警(训练引擎不可用)
     */
    ALARM_TRAINING(2, "告警(训练引擎不可用)"),
    /**
     * 3
     * 告警(推理引擎不可用)
     */
    ALARM_INFERENCE(3, "告警(推理引擎不可用)"),
    /**
     * 4
     * 告警(推理引擎、训练引擎均不可用)
     */
    ALARM_BOTH(4, "告警(推理引擎、训练引擎均不可用)");

    private Integer code;
    private String message;

    /**
     * 构造方法
     *
     * @param code    code
     * @param message message
     */
    ResourceStatusEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    /**
     * 根据code返回对应枚举类
     *
     * @param code code
     * @return
     */
    public static ResourceStatusEnum getEnumByCode(Integer code) {
        if (null == code) {
            return null;
        }
        ResourceStatusEnum[] values = ResourceStatusEnum.values();
        for (ResourceStatusEnum v : values) {
            if (v.getCode().equals(code)) {
                return v;
            }
        }
        return null;
    }

    public Integer getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}
0

评论区