zoukankan      html  css  js  c++  java
  • 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;
        }
    }
  • 相关阅读:
    Ubuntu 下配置ftp服务端
    mysql的sql文件的备份与还原
    Virtualbox后台管理之VBoxManage
    主从库延迟对项目质量的影响
    jenkins / ant / jmeter 持续集成接口自动化
    infer 检验IOS项目
    pmd静态代码分析
    利用线上数据验证系统 Gor
    python flask (一)
    python SQLAlchemy
  • 原文地址:https://www.cnblogs.com/aspirant/p/14680116.html
Copyright © 2011-2022 走看看