当前位置:网站首页>isEmpty 和 isBlank 的用法区别

isEmpty 和 isBlank 的用法区别

2022-07-06 09:18:00 Demon Lord(大魔王)

首先,这两个方法用的都是工具类 StringUtils 里面的方法,都是用来判断字符串是否为空的

而这个工具类到处都是,推荐使用Apache的 不受框架的约束,方法也全

1)isEmpty

判断字符串是否为空字符串,只要有一个任意字符(包括空白字符)就不为空。

来看 isEmpty 的方法源码:

public static boolean isEmpty(CharSequence cs) {
    return cs == null || cs.length() == 0;
}

这个方法只判断了是为为 null 或者长度为 0。

意味着,如果用户输入 "    " 等空白字符,这个方法就不通过了,结果就是不为空了。

如验证输入以下内容:

输入内容是否为空
"    "
""
"Java技术栈"

2、isBlank

判断字符串是否为空字符串,全部空白字符也为空。

来看 isBlank 的方法源码:

public static boolean isBlank(CharSequence cs) {
    int strLen = length(cs);
    if (strLen == 0) {
        return true;
    } else {
        for(int i = 0; i < strLen; ++i) {
            if (!Character.isWhitespace(cs.charAt(i))) {
                return false;
            }
        }

        return true;
    }
}

第 7 行,只要有一个字符不为空白字符就返回 false,也就是说,如果全部都为空白字符就返回 true,也就是全部空白字符也为空。

如验证输入以下内容:

输入内容是否为空
"    "
""
"Java技术栈"

这时候,如果用户输入 "    " 等空白字符,这个方法也返回空了,这也是大部分业务场景下我们期望出现的结果。

原网站

版权声明
本文为[Demon Lord(大魔王)]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_55631086/article/details/120967667