首页 > 编程语言 > 详细

stream-enum判断

时间:2021-04-20 14:09:47      阅读:32      评论:0      收藏:0      [点我收藏+]
   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;
    }
}

 

stream-enum判断

原文:https://www.cnblogs.com/aspirant/p/14680116.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!