JAVA字符串判空的方法

1.记录自己工作中的问题:针对某些字符串进行判空时,出现的BUG

StringUtils.hasText

  StringUtils.hasText(null) = false
  StringUtils.hasText("") = false
  StringUtils.hasText(" ") = false
  StringUtils.hasText("12345") = true
  StringUtils.hasText(" 12345 ") = true

 查看源码中的注释,可以看出hasText(String s)的条件为:s为null、""、"  "时,返回值为false,s中不管是否有空格,只要有字符,即s的字符长度不为0,返回值为true。

StringUtils.isEmpty

字符串是否为空,空的定义如下: 1、为null 2、为""

StrUtil.isEmpty(null) = true
StrUtil.isEmpty("") = true
StrUtil.isEmpty(" ") = false
StrUtil.isEmpty(" 123 ") = false

isEmpty(String s)的判断条件:s为null、""时,返回值为true。

StringUtils.isBlank

字符串是否为空白 空白的定义如下: 1、为null 2、为不可见字符(如空格) 3、""

StringUtils.isBlank(null)      = true
StringUtils.isBlank("")        = true
StringUtils.isBlank(" ")       = true
StringUtils.isBlank("123")     = false
StringUtils.isBlank("  123  ") = false

isBlank(String s)的判断条件为:s为null、""、"  "时,返回值为true。

2.从以上的方法中可以看出,hasText和isBlank返回值相反,两个可以相互替换


版权声明:本文为xiexiexie1069原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。