加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

isEmpty和isBlank的差异

发布时间:2021-05-25 22:53:32 所属栏目:语言 来源:互联网
导读:我们在对字符串进行操作的时候,需要经常判断该字符串是否为空。如果没有借助任何工具,我们一般是这样判断的: if( null !=source! .equals(source)){ System.

我们在对字符串进行操作的时候,需要经常判断该字符串是否为空。如果没有借助任何工具,我们一般是这样判断的:

if (null != source && !"".equals(source)) { 

    System.out.println("not empty"); 

但是如果每次都这样判断,会有些麻烦,所以很多jar包都对字符串判空做了封装。目前市面上主流的工具有:

spring中的StringUtils

jdbc中的StringUtils

apache common3中的StringUtils

不过spring中的StringUtils类只有isEmpty方法,没有isNotEmpty方法。

jdbc中的StringUtils类只有isNullOrEmpty方法,也没有isNotNullOrEmpty方法。

所以在这里强烈推荐一下apache common3中的StringUtils类,它里面包含了很多实用的判空方法:isEmpty、isBlank、isNotEmpty、isNotBlank等,还有其他字符串处理方法。

问题来了,isEmpty和isBlank有啥区别?

使用isEmpty方法判断:

StringUtils.isNotEmpty(null)      = true 

 StringUtils.isNotEmpty("")        = true 

 StringUtils.isNotEmpty(" ")       = false 

 StringUtils.isNotEmpty("bob")     = false 

 StringUtils.isNotEmpty("  bob  ") = false 

使用isBlank方法判断:

StringUtils.isBlank(null)      = true 

StringUtils.isBlank("")        = true 

StringUtils.isBlank(" ")       = true 

StringUtils.isBlank("bob")     = false 

StringUtils.isBlank("  bob  ") = false 

两个方法关键的区别在于这种" "空字符串的情况,isNotEmpty返回false,而isBlank返回true。

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!