Map工具类笔记

public class MapUtil {

    public static String getStringValue(Map map, String key) {
        if (map == null) {
            return null;
        }

        Object value = map.get(key);
        if (value == null) {
            return null;
        }
        if (value instanceof String) {
            return StringUtils.trimToEmpty((String) value);
            /*
             * } else if (value instanceof CLOB) { return oracleClob2Str((CLOB) value);
             */
        } else if (value instanceof JSONObject) {
            return ((JSONObject) value).getString("value");
        } else {
            return value.toString();
        }
    }

    public static Double getDoubleValue(Map map, String key) {
        if (map == null) {
            return null;
        }

        Object value = map.get(key);
        if (value == null || value == "") {
            return 0d;
        } else {
            return Double.parseDouble(value + "");
        }

    }

    public static int getIntValue(Map map, String key) {
        if (map == null) {
            return 0;
        }

        Object value = map.get(key);
        if (value == null) {
            return 0;
        }
        if (value instanceof BigDecimal) {
            return ((BigDecimal) value).intValue();
        } else if (value instanceof Long) {
            return ((Long) value).intValue();
        } else if (value instanceof Short) {
            return ((Short) value).intValue();
        } else if (value instanceof Integer) {
            return ((Integer) value).intValue();
        } else if (value instanceof Double) {
            return ((Double) value).intValue();
        } else if (value instanceof String) {
            if (StringUtils.isBlank(value + "")) {
                return 0;
            } else {
                try {
                    return Integer.parseInt(value + "");
                } catch (Exception e) {
                    throw new RuntimeException(
                            "无法将key【" + key + "】,value【" + value + "】转换为Integer类型!");
                }
            }
        } else {
            throw new RuntimeException("无法将key【" + key + "】,value【" + value + "】转换为Integer类型!");
        }
    }

    public static Long getLongValue(Map map, String key) {
        if (map == null) {
            return 0L;
        }

        Object value = map.get(key);
        if (value == null) {
            return 0L;
        }
        if (value instanceof BigDecimal) {
            return ((BigDecimal) value).longValue();
        } else if (value instanceof Long) {
            return (Long) value;
        } else if (value instanceof Short) {
            return ((Short) value).longValue();
        } else if (value instanceof Integer) {
            return ((Integer) value).longValue();
        } else if (value instanceof String) {
            if (StringUtils.isBlank(value + "")) {
                return 0L;
            } else {
                try {
                    return Long.parseLong(value + "");
                } catch (Exception e) {
                    throw new RuntimeException(
                            "无法将key【" + key + "】,value【" + value + "】转换为Long类型!");
                }
            }
        } else {
            throw new RuntimeException("无法将key【" + key + "】,value【" + value + "】转换为Long类型!");
        }
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值