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 ") = falseisEmpty(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版权协议,转载请附上原文出处链接和本声明。