/**
* 枚举的工具类
*/
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;
}
}
使用示例如下所示:
import lombok.Getter;
/**
*支付状态枚举
*/
@Getter
public enum PayStatusEnum implements CodeEnum {
UNPAID(0,"待支付"),
PAID(1,"已支付"),
REFUND(2,"已退款");
private Integer code;
private String message;
PayStatusEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}
/**
* 枚举接口
*/
public interface CodeEnum {
Integer getCode();
}
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
/**
* 页面数据模型
*/
@Data
public class OrderVO{
private Integer payStatus;
@JsonIgnore
public PayStatusEnum payStatusEnum() {
return EnumUtil.getByCode(payStatus, PayStatusEnum.class);
}
}
好了 , 接下来页面就可以使用orderVO对象来获取数据库中存储的类似枚举数据对应的中文值了 !!!
本文介绍了一个用于处理枚举类型的实用工具类,通过该类可以方便地根据枚举值获取枚举对象。同时,展示了如何在实体类中使用此工具类将整型支付状态转换为支付状态枚举,从而在页面上展示友好的中文描述。

2130

被折叠的 条评论
为什么被折叠?



