从数据库取出来的code转换成枚举

1.第一步:书写CodeEnum类

public interface CodeEnum{    
   Integer getCode();
}

2.第二步:书写枚举类

public enum OrderStatusEnum implements CodeEnum{

NEW(0,"新订单"),
FINISH(1,"完结"),
CANCEL(2,"已取消");

private Integer code;

private String message;

OrderStatusEnum(Integer code, String message) {
    this.code = code;
    this.message = message;
}

public Integer getCode() {
    return code;
}

public void setCode(Integer code) {
    this.code = code;
}

public String getMessage() {
    return message;
}

public void setMessage(String message) {
    this.message = message;
}
}

第三步:书写工具类

//通过code来获得枚举,T代表枚举,书写的公共类  <T extends CodeEnum>这表达类,表示不确定的东西,像Interface/class
public class EnumUtil {
    public static <T extends CodeEnum> T getByCode(Integer code, Class<T> enumClass) {
        for (T each : enumClass.getEnumConstants()) {
            if (code.equals(each.getCode())) {
                return each;
            }
        }
        return null;
    }

}

 

猜你喜欢

转载自blog.csdn.net/Richard_666/article/details/82905482
今日推荐