isEmpty和isBlank的差异

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


  1. if (null != source && !"".equals(source)) { 
  2.     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方法判断:


  1. StringUtils.isNotEmpty(null)      = true 
  2.  StringUtils.isNotEmpty("")        = true 
  3.  StringUtils.isNotEmpty(" ")       = false 
  4.  StringUtils.isNotEmpty("bob")     = false 
  5.  StringUtils.isNotEmpty("  bob  ") = false 

使用isBlank方法判断:


  1. StringUtils.isBlank(null)      = true 
  2. StringUtils.isBlank("")        = true 
  3. StringUtils.isBlank(" ")       = true 
  4. StringUtils.isBlank("bob")     = false 
  5. StringUtils.isBlank("  bob  ") = false 

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

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章