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;
        }
    }
  • 相关阅读:
    [转]实现财务自由的6大步骤
    [转] js 实现table每列可左右拖动改变列宽度
    [转]在Excel中使用SQL语句实现精确查询
    [书目20150727]有效沟通-余世维
    [书目20150727]选择重于一切(扎克伯格给年轻人的37个人生忠告)
    [转]把汉字写“绝”了
    [转]《间架结构92法》
    深圳社保转入
    广州社保转出
    [转]利用telnet进行SMTP的验证
  • 原文地址:https://www.cnblogs.com/aspirant/p/14680116.html
Copyright © 2011-2022 走看看