-
背景:最近测试,发现有一些bug,很奇怪,那个类里面的方法也没有问题,代码都是之前的完全没有动,忽然想起来有个同事,总喜欢改别人代码,因为没给我说直接改了我的代码逻辑,出现了一些bug,脑子一灵光就想到了看一下返回的公共实体类,我直接看编辑记录,果然有他,我就对比了一下之前的版本,发现他改掉了isEmpty()换成了hasText(),改回来就好了,于是查了一下这两者的区别;
-
上demo
public static void main(String[] args) { //无空格 System.out.println(StringUtils.isEmpty(""));//是否为空,空返回true System.out.println(StringUtils.hasText(""));//是否为空,空返回false //有空格 System.out.println(StringUtils.isEmpty(" ")); System.out.println(StringUtils.hasText(" ")); //任意字符 System.out.println(StringUtils.isEmpty(" ' ")); System.out.println(StringUtils.hasText(" '' ")); System.out.println(StringUtils.isEmpty(" 1 ")); System.out.println(StringUtils.hasText(" 2 ")); }
-
总结:hasText()和isEmpty()无法替换的,isEmpty()为空的标准是str == null 或 str.length() == 0,hasText()是只要字符串里面有" “都会返回true,但是”",返回的是false。
-
finally,感谢我的同事赠与我这篇文章素材!!!
hasText()和isEmpty()区别
最新推荐文章于 2023-12-11 14:49:19 发布