枚举类为:

  1. public enum OrderStatusEnum implements CondeEnum{
  2. NEW(0, "新订单"),
  3. FINISHED(1, "完结"),
  4. CANCLE(2, "取消");
  5.  
  6. private Integer code;
  7. private String msg;
  8.  
  9. OrderStatusEnum(Integer code, String msg) {
  10. this.code = code;
  11. this.msg = msg;
  12. }
  13.  
  14. public Integer getCode() {
  15. return code;
  16. }
  17.  
  18. public String getMsg() {
  19. return msg;
  20. }
  21. }

实现的接口为:

  1. public interface CondeEnum<T> {
  2.  
  3. T getCode();
  4. }

然后实现一个工具类:

  1. public class EnumUtil {
  2.  
  3. public static <T extends CondeEnum> T getByCode(Integer code, Class<T> enumClass) {
  4. for (T each : enumClass.getEnumConstants()) {
  5. if (code.equals(each.getCode())) {
  6. return each;
  7. }
  8. }
  9. return null;
  10. }
  11. }

在实体类中直接进行赋值:

  1. @Data
  2. @JsonInclude(JsonInclude.Include.NON_NULL)
  3. public class OrderDTO {
  4.  
  5. private String orderId;
  6.  
  7. private String buyerName;
  8.  
  9. private String buyerPhone;
  10.  
  11. private String buyerAddress;
  12.  
  13. private String buyerOpenid;
  14.  
  15. private BigDecimal orderAmount;
  16.  
  17. private Integer orderStatus = OrderStatusEnum.NEW.getCode();
  18.  
  19. private Integer payStatus = PayStatusEnum.WAIT.getCode();
  20.  
  21. @JsonSerialize(using = Date2LongSerializer.class)
  22. private LocalDateTime createTime;
  23.  
  24. @JsonSerialize(using = Date2LongSerializer.class)
  25. private LocalDateTime updateTime;
  26.  
  27. private List<OrderDetail> orderDetailList;
  28.  
  29. @JsonIgnore
  30. public OrderStatusEnum getOrderStatusEnum() {
  31. return EnumUtil.getByCode(orderStatus, OrderStatusEnum.class);
  32. }
  33.  
  34. @JsonIgnore
  35. public PayStatusEnum getPayStatusEnum() {
  36. return EnumUtil.getByCode(payStatus, PayStatusEnum.class);
  37. }
  38. }

如何在类中根据枚举值,获取枚举的message的工具类的更多相关文章

  1. 第三章 EnumUtil根据值获取枚举对象

    项目中使用枚举类的好处这里不再赘述,在使用枚举值时,通常需要根据值来获取枚举对象,下面介绍两种实现方案: 1.在枚举类中定义方法实现 首先给出如下性别枚举类: public enum SexEnum ...

  2. WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据

    WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据 WebForm1.aspx 页面 (原生AJAX请求,写法一) <%@ Page Langu ...

  3. WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据(转)

    WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据 WebForm1.aspx 页面 (原生AJAX请求,写法一) <%@ Page Langu ...

  4. c#图像处理入门(-bitmap类和图像像素值获取方法)

    c#图像处理入门 -bitmap类和图像像素值获取方法 一.Bitmap类 Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义 ...

  5. 继承类中static数据值

    class A{ static int num = 1; public static void Display(){ System.out.println( num ); } } class B ex ...

  6. 关于spring中Assert的应用(方法入参检测工具类)

    关于spring中Assert的应用(方法入参检测工具类) Web 应用在接受表单提交的数据后都需要对其进行合法性检查,如果表单数据不合法,请求将被驳回.类似的,当我们在编写类的方法时,也常常需要对方 ...

  7. Java中使用最频繁及最通用的Java工具类

    在Java中,工具类定义了一组公共方法,Java中使用最频繁及最通用的Java工具类. 一. org.apache.commons.io.IOUtils closeQuietly:关闭一个IO流.so ...

  8. 获取Spring容器Bean对象工具类

    在开发中,总是能碰到用注解注入不了Spring容器里面bean对象的问题.为了解决这个问题,我们需要一个工具类来直接获取Spring容器中的bean.因此就写了这个工具类,在此记录一下,方便后续查阅. ...

  9. 180709-Java实现获取本机Ip的工具类

    180709-Java实现获取本机Ip的工具类 获取本机Ip算是比较常见的一个需求场景了,比如业务报警,可能就会带上出问题的机器IP,方便直接上去看日志定位问题,那么问题来了,如何获取机器IP呢? I ...

  10. c++11 实现枚举值到枚举名的转换

    效果 ``` ENUM_DEFINE ( Color, Red, Blue, ) EnumHelper(Color::Red) -> "Red" EnumHelper(Col ...

随机推荐

  1. How to recover a skipped tablespace after an incomplete recovery? (Doc ID 1561645.1)

    How to recover a skipped tablespace after an incomplete recovery? (Doc ID 1561645.1) APPLIES TO: Ora ...

  2. springboot入门以及配置文件

    springboot入门以及配置文件 SpringBoot是什么? Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速.敏捷地开发新一代基于Spring框架的应用 ...

  3. go语言设计模式之Command

    package main import ( "fmt" ) type Command interface { Execute() } type ConsoleOutput stru ...

  4. BZOJ2591/LG3047 「USACO12FEB」Nearby Cows 换根树形DP

    问题描述 BZOJ2591 LG3047 题解 换根树形DP. 设 \(opt[i][j]\) 代表 当 \(1\) 为根时,\(i\) 为根的子树中,到 \(i\) 的距离为 \(j\) 的权值和 ...

  5. ENDGAME

    "So if I were to wrap this up tight with a bow or whatever,I guess I'd say my career of OI was ...

  6. Mysql 免安装教程 百度云网盘有文件和word说明

    一 把文件解压到一个目录下 这是解压后的目录 将my.ini文件考进去 双击打开my.ini 找到这两行更改成自己的解压路径保存 右键此电脑属性 找到高级系统设置配置环境变量 新建—>变量值是解 ...

  7. 80%应聘者都不及格的JS面试题

    共 5024 字,读完需 6 分钟,速读需 2 分钟,本文首发于知乎专栏前端周刊.写在前面,笔者在做面试官这 2 年多的时间内,面试了数百个前端工程师,惊讶的发现,超过 80% 的候选人对下面这道题的 ...

  8. 细数使用View UI(iView)开发中遇到的坑

    一.前言 View UI,即原先的 iView,是一套基于 Vue.js 的开源 UI 组件库,主要服务于 PC 界面的中后台产品. 官网地址:https://www.iviewui.com/docs ...

  9. PELT算法

    参考:http://www.wowotech.net/process_management/PELT.html 本文是对https://lwn.net/Articles/531853/的翻译 mark ...

  10. Netty — 心跳检测和断线重连

    一.前言 由于在通信层的网络连接的不可靠性,比如:网络闪断,网络抖动等,经常会出现连接断开.这样对于使用长连接的应用而言,当突然高流量冲击势必会造成进行网络连接,从而产生网络堵塞,应用响应速度下降,延 ...