stream-enum判断
InventoryDetailTypeEnum inventoryDetailTypeEnum = Arrays.stream(InventoryDetailTypeEnum.values()) .filter(it -> it.getCode() == deductInventoryInfoDTO.getInventoryDetailType()) .findFirst() .orElseThrow(() -> new MzException(PmsErrorEnum.INVENTORY_DETAIL_TYPE_ERROR));
比如这个enum:
/** * 库存操作明细类型 * @author hejun */ public enum InventoryDetailTypeEnum { DEDUCT_INVENTORY((byte)1, "交易扣减库存"), RECOVERY_INVENTORY((byte)2, "交易回退库存"), PRE_ORDER_DEDUCT_INVENTORY((byte)3, "预订单扣减"), PRE_ORDER_RECOVERY_INVENTORY((byte)4, "预订单回退"), PRE_ORDER_TO_ORDER_DEDUCT_INVENTORY((byte)5, "预订单转正式订单"), ORDER_TO_PRE_ORDER_RECOVERY_INVENTORY((byte)6, "正式订单回退到预订单") ; InventoryDetailTypeEnum(byte code, String msg) { this.code = code; this.msg = msg; } private byte code; private String msg; public byte getCode() { return code; } public String getMsg() { return msg; } /** * 根据code获取MSG * @param code * @return */ public static String getMsgByCode(byte code){ for (InventoryDetailTypeEnum element : InventoryDetailTypeEnum.values()) { if(element.getCode() == code){ return element.getMsg(); } } return ""; } public static boolean contains(Object value) { if(value == null){ return false; } for (InventoryDetailTypeEnum element : InventoryDetailTypeEnum.values()) { if(element.getCode() == Byte.valueOf(value.toString())){ return true; } } return false; } /** * 获取全部枚举值 * * @return */ public static Map<Number, String> getDataMap() { Map<Number, String> dataMap = new HashMap<Number, String>(); for (InventoryDetailTypeEnum element : InventoryDetailTypeEnum.values()) { dataMap.put(element.getCode(), element.getMsg()); } return dataMap; } }
本文来自博客园,作者:aspirant,转载请注明原文链接:https://www.cnblogs.com/aspirant/p/14680116.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2017-04-20 linux 负载均衡配置 keepalive lvs 使用nginx转发 CentOS7 搭建LVS+keepalived负载均衡