这是我们的实体类
可以看出我们的状态status是2如过返回到前端我们根本不知道2代表的是什么,所以我们需要再这里将数字转换成能看懂的中文状态,首先我们创建一个枚举类
先将我们状态码所对应的中文状态枚举出来,然后创建一个静态方法,方法的参数就是我们要转换的状态码,方法体为
- Arrays.stream(CurrentStatus.values()): 首先调用了 CurrentStatus.values() 方法,该方法返回 CurrentStatus 枚举类型的所有实例组成的数组。然后 Arrays.stream() 将这个数组转换成一个Stream流。
- filter(item -> item.getCode().equals(code)): 在得到的Stream流上应用了一个过滤操作(filter函数),其内部是一个Lambda表达式,表示筛选出那些 getCode() 方法返回的code与给定变量 code 相等的枚举项。
- findFirst(): 这是对Stream流进行的一个终端操作,它的作用是从经过过滤后的Stream中找出第一个元素。如果找到了符合条件的元素,则返回一个包含该元素的Optional对象;如果没有找到,则返回一个空的Optional对象。
Optional对象是Java 8引入的一种新的容器类,位于java.util.Optional包下。它主要用于解决空指针异常(NullPointerException)的问题,提供了一种更安全的方式来处理可能缺失的值。Optional不是一个数据结构,而是一个可以持有或不持有非null值的容器对象。
当数据处理完返回后,我们在实体类里获取返回的值,这样我们直接获取statusX的值就是对应的中文状态码了