ITPub博客

首页 > > > 是否注意过isEmpty 和 isBlank 区别?

是否注意过isEmpty 和 isBlank 区别?

作者:孤独键客 时间:2020-05-15 16:13:00 0 删除 编辑
程序员的成长之路
互联网/程序员/成长/职场 
关注


阅读本文大概需要 1 分钟。

来自:http://h5ip.cn/ix9z

前言

org.apache.commons.lang.StringUtils 类提供了 String 的常用操作,最为常用的判空有如下两种 isEmpty(String str) 和isBlank(String str)。

分析

我们通过源码来分析区别:
public static boolean isEmpty(String str) {
    return str == null || str.length() == ;
}

public static boolean isNotEmpty(String str) {
    return !isEmpty(str);
}

public static boolean isBlank(String str) {
    int strLen;
    if (str != null && (strLen = str.length()) != ) {
        for(int i = ; i < strLen; ++i) {
            if (!Character.isWhitespace(str.charAt(i))) {
                return false;
            }
        }

        return true;
    } else {
        return true;
    }
}

public static boolean isNotBlank(String str) {
    return !isBlank(str);
}
可以看到:
1.StringUtils.isEmpty(String str)判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0
2.StringUtils.isBlank(String str)判断某字符串是否为空或长度为 0 或由空白符 (whitespace) 构成
3.StringUtils.isNotEmpty(String str)等价于!isEmpty(String str)
4.StringUtils.isNotBlan(String str)等价于!isBlank(String str)

建议

StringUtils.isBlank(String str) 来执行判空操作,判断的条件更多更具体,特别是进行参数校验时,推荐使用。

<END>

推荐阅读:

把你的 Linux 打扮的像个黑客屏幕

分享 14 个 Spring MVC 顶级技巧!


微信扫描二维码,关注我的公众号

写留言

朕已阅 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69902700/viewspace-3151980/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
一个不羁的码农,终身学习者。公众号「程序员的成长之路」。目前就职于一家游戏公司,主要负责服务器端,以及web系统的开发工作,对Java相关知识比较擅长。

注册时间:2018-12-14

  • 博文量
    793
  • 访问量
    119802