Java带默认值的反序列化,特别适用于方法反射调用的时候参数不能为空

Java带默认值的反序列化,特别是方法反射调用的时候参数不能为空,避免出现空指针异常

本文连接:https://www.cnblogs.com/muphy/p/15242173.html

private Object parseObject(Class<?> paramType, String value) {
    if (Integer.class == paramType || int.class == paramType) {
        if (StringUtils.isEmpty(value)) {
            return 0;
        }
        return Integer.valueOf(value);
    }
    if (Long.class == paramType || long.class == paramType) {
        if (StringUtils.isEmpty(value)) {
            return 0;
        }
        return Long.valueOf(value);
    }
    if (Double.class == paramType || double.class == paramType) {
        if (StringUtils.isEmpty(value)) {
            return 0.0;
        }
        return Double.valueOf(value);
    }
    if (Float.class == paramType || float.class == paramType) {
        if (StringUtils.isEmpty(value)) {
            return 0.0f;
        }
        return Float.valueOf(value);
    }
    if (Character.class == paramType || char.class == paramType) {
        if (StringUtils.isEmpty(value)) {
            return 0;
        }
        return value.charAt(0);
    }
    if (String.class == paramType) {
        if (StringUtils.isEmpty(value)) {
            return "";
        }
        return value;
    }
    if (Collection.class.isAssignableFrom(paramType) || paramType.isArray()) {
        if (StringUtils.isEmpty(value)) {
            value = "[]";
        }
    }
    if (Map.class.isAssignableFrom(paramType)) {
        if (StringUtils.isEmpty(value)) {
            value = "{}";
        }
    }
     value = "{}";
    return com.alibaba.fastjson.JSON.parseObject(value, paramType);
}

 

Java带默认值的反序列化,特别适用于方法反射调用的时候参数不能为空

上一篇:重新打包windows变色龙wowpc.iso的方法


下一篇:Photoshop把美女照片变成机器人效果