isEmpty 和 isBlank 的用法区别,居然一半的人答不上来.....

Java后端编程

共 6413字,需浏览 13分钟

 ·

2021-10-14 20:33

来源:blog.csdn.net/moshowgame/article/details/102914895

也许你两个都不知道,也许你除了 isEmpty / isNotEmpty / isNotBlank / isBlank 外,并不知道还有 isAnyEmpty / isNoneEmpty / isAnyBlank / isNoneBlank 的存在, come on ,让我们一起来探索 org.apache.commons.lang3.StringUtils; 这个工具类

isEmpty系列


StringUtils.isEmpty()


是否为空. 可以看到 " " 空格是会绕过这种空判断,因为是一个空格,并不是严格的空值,会导致 isEmpty(" ")=false

StringUtils.isEmpty(null) = true        StringUtils.isEmpty("") = true        StringUtils.isEmpty(" ") = false        StringUtils.isEmpty(“bob”) = false        StringUtils.isEmpty(" bob ") = false        /        *        * 

NOTE: This method changed in Lang version 2.0. * It no longer trims the CharSequence. * That functionality is available in isBlank().

* * @param cs the CharSequence to check, may be null * @return {@code true} if the CharSequence is empty or null * @since 3.0 Changed signature from isEmpty(String) to isEmpty(CharSequence) */public static boolean isEmpty(final CharSequence cs) { return cs == null || cs.length() == 0;}

StringUtils.isNotEmpty()


相当于不为空 , = !isEmpty()

public static boolean isNotEmpty(final CharSequence cs) {        return !isEmpty(cs);}

StringUtils.isAnyEmpty()


是否有一个为空,只有一个为空,就为true.

StringUtils.isAnyEmpty(null) = true        StringUtils.isAnyEmpty(null, “foo”) = true        StringUtils.isAnyEmpty("", “bar”) = true        StringUtils.isAnyEmpty(“bob”, “”) = true        StringUtils.isAnyEmpty(" bob ", null) = true        StringUtils.isAnyEmpty(" ", “bar”) = false        StringUtils.isAnyEmpty(“foo”, “bar”) = false        /        * @param css  the CharSequences to check, may be null or empty        * @return {@code true} if any of the CharSequences are empty or null        * @since 3.2        */public static boolean isAnyEmpty(final CharSequence... css) {        if (ArrayUtils.isEmpty(css)) {            return true;        }        for (final CharSequence cs : css){            if (isEmpty(cs)) {                return true;            }        }        return false;}

StringUtils.isNoneEmpty()


相当于 !isAnyEmpty(css) , 必须所有的值都不为空才返回true

 /        * 

Checks if none of the CharSequences are empty ("") or null.

* *
         * StringUtils.isNoneEmpty(null)             = false         * StringUtils.isNoneEmpty(null, "foo")      = false         * StringUtils.isNoneEmpty("", "bar")        = false         * StringUtils.isNoneEmpty("bob", "")        = false         * StringUtils.isNoneEmpty("  bob  ", null)  = false         * StringUtils.isNoneEmpty(" ", "bar")       = true         * StringUtils.isNoneEmpty("foo", "bar")     = true         * 
* * @param css the CharSequences to check, may be null or empty * @return {@code true} if none of the CharSequences are empty or null * @since 3.2 */public static boolean isNoneEmpty(final CharSequence... css) {

isBank系列


StringUtils.isBlank()


是否为真空值(空格或者空值)

StringUtils.isBlank(null) = true        StringUtils.isBlank("") = true        StringUtils.isBlank(" ") = true        StringUtils.isBlank(“bob”) = false        StringUtils.isBlank(" bob ") = false        /        * 

Checks if a CharSequence is whitespace, empty ("") or null.

* @param cs the CharSequence to check, may be null * @return {@code true} if the CharSequence is null, empty or whitespace * @since 2.0 * @since 3.0 Changed signature from isBlank(String) to isBlank(CharSequence) */public static boolean isBlank(final CharSequence cs) { int strLen; if (cs == null || (strLen = cs.length()) == 0) { return true; } for (int i = 0; i < strLen; i++) { if (Character.isWhitespace(cs.charAt(i)) == false) { return false; } } return true; }

StringUtils.isNotBlank()


是否真的不为空,不是空格或者空值 ,相当于 !isBlank();

public static boolean isNotBlank(final CharSequence cs) {        return !isBlank(cs);}

StringUtils.isAnyBlank()


是否包含任何真空值(包含空格或空值)

        StringUtils.isAnyBlank(null) = true        StringUtils.isAnyBlank(null, “foo”) = true        StringUtils.isAnyBlank(null, null) = true        StringUtils.isAnyBlank("", “bar”) = true        StringUtils.isAnyBlank(“bob”, “”) = true        StringUtils.isAnyBlank(" bob ", null) = true        StringUtils.isAnyBlank(" ", “bar”) = true        StringUtils.isAnyBlank(“foo”, “bar”) = false        /        * 

Checks if any one of the CharSequences are blank ("") or null and not whitespace only..

* @param css the CharSequences to check, may be null or empty * @return {@code true} if any of the CharSequences are blank or null or whitespace only * @since 3.2 */public static boolean isAnyBlank(final CharSequence... css) { if (ArrayUtils.isEmpty(css)) { return true; } for (final CharSequence cs : css){ if (isBlank(cs)) { return true; } } return false;}

StringUtils.isNoneBlank()


是否全部都不包含空值或空格

StringUtils.isNoneBlank(null) = false        StringUtils.isNoneBlank(null, “foo”) = false        StringUtils.isNoneBlank(null, null) = false        StringUtils.isNoneBlank("", “bar”) = false        StringUtils.isNoneBlank(“bob”, “”) = false        StringUtils.isNoneBlank(" bob ", null) = false        StringUtils.isNoneBlank(" ", “bar”) = false        StringUtils.isNoneBlank(“foo”, “bar”) = true        /        * 

Checks if none of the CharSequences are blank ("") or null and whitespace only..

* @param css the CharSequences to check, may be null or empty * @return {@code true} if none of the CharSequences are blank or null or whitespace only * @since 3.2 */public static boolean isNoneBlank(final CharSequence... css) { return !isAnyBlank(css);}


StringUtils的其他方法


可以参考官方的文档,里面有详细的描述,有些方法还是很好用的.

https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html



 关注公众号:Java后端编程,回复下面关键字 

要Java学习完整路线,回复  路线 

缺Java入门视频,回复 视频 

要Java面试经验,回复  面试 

缺Java项目,回复: 项目 

进Java粉丝群: 加群 


PS:如果觉得我的分享不错,欢迎大家随手点赞、在看。

(完)




加我"微信获取一份 最新Java面试题资料

请备注:666不然不通过~


最近好文


1、GitHub 近两万 Star,可一键生成前后端代码

2、Spring 官方为什么建议构造器注入?

3、10000 字讲清楚 Spring Boot 注解原理

4、13个优秀的 Vue 开源项目及合集推荐

5、Java项目实战:利用注解 + 反射消除重复代码



最近面试BAT,整理一份面试资料Java面试BAT通关手册,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:关注公众号并回复 java 领取,更多内容陆续奉上。
明天见(。・ω・。)ノ♡
浏览 39
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报