0
点赞
收藏
分享

微信扫一扫

Java优雅判空 字符串、数组对象,不要再用null==str&&StringUtils.isBlank(str.toString())

mjjackey 2022-04-25 阅读 30
java

想必大家在日常开发中会经常遇到以下这种情况:

Map<String, Object> params;
Object res = params.get("xx");

如果value是String类型,我们直接使用res.toString(),在value不存在的情况下就会造成NPE。
所以我们在使用之前都会先进行判空,

if (null != res && StringUtils.isBlank(str.toString())) {
	doSomething();
}

每次都这样写好麻烦哦,今天在看源码的时候发现了一个神奇方法!这个方法既可以判该Object对象是否为null,又能判断是否为空字符串空数组空集合
包名和方法名如下啦!

package org.apache.commons.lang3;

ObjectUtils.isEmpty(Object object) {
        if (object == null) {
            return true;
        } else if (object instanceof CharSequence) {
            return ((CharSequence)object).length() == 0;
        } else if (object.getClass().isArray()) {
            return Array.getLength(object) == 0;
        } else if (object instanceof Collection) {
            return ((Collection)object).isEmpty();
        } else {
            return object instanceof Map ? ((Map)object).isEmpty() : false;
        }
}

如果大家有更好的方式,希望大家不吝赐教!

举报

相关推荐

0 条评论