我们在开发中,为了保持项目运行的效率,降低数据库的冗余,往往会使用Code来代表某些信息,而不把全部的信息都存到一个表中,比如某个项目中,我们的商品有上架或者下架的状态,某个订单有新订单,已完结,已支付等状态,我们往往都会用一个数字code 来表示状态,而不是存全部,那样冗余太大。
我们的状态往往都会使用一个枚举类存起来
但是有时候我们需要向前端传输我们某个对象的状态的详情的时候,我们需要取出状态码,然后遍历枚举类对比,才能找到我们的状态详情,这种操作很明显是应该封装起来的。
以订单状态为例
1.创建Code接口
/**
* @author: 林之谦
* @date: 2018/7/31
* @description:
*/
public interface CodeEnum<T> {
public Integer getCode();
}
2.创建枚举类并继承CodeEnum
/**
* @author: 林之谦
* @date: 2018/7/27
* @description:
*/
@Getter
public enum OrderStatusEnum implements CodeEnum{
NEW(0,"新订单"),
FINISHED(1,"完成"),
CANCEL(2,"已取消"),
;
private Integer code;
private String message;
OrderStatusEnum(Integer