Java编写简单的枚举

编写一个枚举的步骤:

一、属性 (可根据需要自定义)

  /**
     * 枚举编码
     */
    private final String code;
    /**
     * 枚举描述
     */
    private final String desc;

    public String getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

二、构造方法

 MyEnum(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

三、枚举成员

 SUCCESS("0000", "成功"),

    FAILED("0001", "失败"),
    ;

四、常用工具类方法

 /**
     * 根据枚举的编码获得对应的枚举
     *
     * @param code
     * @return
     */
    public static MyEnum getEnumByCode(@Nullable String code) {
        if (code == null) {
            return null;
        }
        for (MyEnum value : MyEnum.values()) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        return null;
    }

五、完整代码及测试

package com.peanut.youfupay.enums;

import javax.annotation.Nullable;

/**
 * 命名规范:
 * 枚举类名带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。
 * 说明:枚举其实就是特殊的常量类,且构造方法被默认强制是私有。
 * 正例:枚举名字为 MyEnum 的成员名称:SUCCESS / UNKNOWN_REASON。
 *
 * @author peanut
 */
public enum MyEnum {
    //  三、枚举成员
    SUCCESS("0000", "成功"),

    FAILED("0001", "失败"),
    ;

    //  四、常用工具类

    /**
     * 根据枚举的编码获得对应的枚举
     *
     * @param code
     * @return
     */
    public static MyEnum getEnumByCode(@Nullable String code) {
        if (code == null) {
            return null;
        }
        for (MyEnum value : MyEnum.values()) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        return null;
    }

    //  一、属性 (可根据需要自定义)
    /**
     * 枚举编码
     */
    private final String code;
    /**
     * 枚举描述
     */
    private final String desc;

    public String getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    //  二、构造方法
    MyEnum(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    /**
     * 这里模拟我们调用A公司的业务,A公司返回给我们一个响应码
     * 如果单凭一堆响应数字,我们不能直观的看懂 "0000"的含义
     * 但是如果是 MyEnum.SUCCESS 我们一眼就看出返回的结果是成功
     * 0000 成功
     * 0001 失败
     * 0002 参数错误
     * ……  等等
     */

    public static void main(String[] args) {
        //A公司返回的响应码
        String returnCode = "0000";
        MyEnum myEnum = getEnumByCode(returnCode);
        if (MyEnum.SUCCESS == myEnum) {
            System.out.println("调用A公司返回" + myEnum.getDesc());
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-乾坤-

????????????????????????

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值