java枚举类封装

java枚举类封装

通常后端数据库中需要int型的状态码,我们在编程中记录不方便,所有我们可以使用java枚举类进行封装

/**
 * @author LiHaiNan
 * @version V1.0
 * @Description: (用一句话描述该文件做什么)
 * @date 下午 1:30 2017/9/22 0022
 */
public interface CodeEnum {
    Integer getCode();
}
import lombok.Getter;

/**
 * @author LiHaiNan
 * @version V1.0
 * @Description: 商品状态
 * @date 下午 1:29 2017/9/22 0022
 */
@Getter
public enum ProductStatusEnum implements CodeEnum{
    UP(0, "在架"),
    DOWN(1, "下架")
    ;

    private Integer code;

    private String message;

    ProductStatusEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
}
import lombok.Getter;

/**
 * @author LiHaiNan
 * @version V1.0
 * @Description: 枚举结果类
 * @date 下午 1:22 2017/9/22 0022
 */
@Getter
public enum ResultEnum {

    SUCCESS(0, "成功"),

    PARAM_ERROR(1, "参数不正确"),

    PRODUCT_NOT_EXIST(10, "商品不存在"),

    PRODUCT_STOCK_ERROR(11, "商品库存不正确"),

    ORDER_NOT_EXIST(12, "订单不存在"),

    ORDERDETAIL_NOT_EXIST(13, "订单详情不存在"),

    ORDER_STATUS_ERROR(14, "订单状态不正确"),

    ORDER_UPDATE_FAIL(15, "订单更新失败"),

    ORDER_DETAIL_EMPTY(16, "订单详情为空"),

    ORDER_PAY_STATUS_ERROR(17, "订单支付状态不正确"),

    CART_EMPTY(18, "购物车为空"),

    ORDER_OWNER_ERROR(19, "该订单不属于当前用户"),

    WECHAT_MP_ERROR(20, "微信公众账号方面错误"),

    WXPAY_NOTIFY_MONEY_VERIFY_ERROR(21, "微信支付异步通知金额校验不通过"),

    ORDER_CANCEL_SUCCESS(22, "订单取消成功"),

    ORDER_FINISH_SUCCESS(23, "订单完结成功"),

    PRODUCT_STATUS_ERROR(24, "商品状态不正确"),

    LOGIN_FAIL(25, "登录失败, 登录信息不正确"),

    LOGOUT_SUCCESS(26, "登出成功"),

    NO_BRANCH(27, "没有查询到该门店"),

    COMMON_ERROR(-1, "服务异常请稍后再试"),

    ;

    private Integer code;

    private String message;

    ResultEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
}
### Java 枚举类的用途 #### 使用场景 Java枚举类型适用于表示一组固定的常量集合,在多种编程情境中有广泛应用。例如,当需要定义一周中的每一天、颜色集或其他任何具有固定成员列表的概念时,枚举是非常理想的选择[^2]。 对于那些可能发生变化但仍需保持有限范围内的值来说,枚举同样适用。比如状态码、权限级别等业务逻辑中常见的概念都可以很好地由枚举来表达。此外,在实现策略模式或者命令模式的时候也可以考虑使用枚举作为载体之一[^4]。 ```java // 定义一个简单的枚举用于表示交通信号灯的颜色 public enum TrafficLightColor { RED, GREEN, YELLOW; } ``` #### 优势 利用Java枚举能够增强代码的安全性和可读性。由于枚举在编译期就限定了类型的合法性,因此可以有效防止非法数值传入导致程序崩溃的风险;同时因为每个枚举项都有唯一的名字,这使得代码更加直观易懂。 另外,相比于传统的`int`或`String`型常量声明方式,枚举提供了更多内置功能支持,如迭代器遍历所有元素、按名称查找特定实例(`valueOf`)等功能,这些都极大地方便了开发人员的操作并提高了效率[^1]。 最后值得一提的是,枚举还可以像普通类一样拥有字段、方法甚至构造函数,这意味着可以在单个实体内部封装复杂的行为逻辑而不必担心外部干扰,从而进一步提升了模块化程度和灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值