hasText()和isEmpty()区别

  • Post author:
  • Post category:其他



  1. 背景

    :最近测试,发现有一些bug,很奇怪,那个类里面的方法也没有问题,代码都是之前的完全没有动,忽然想起来有个同事,总喜欢改别人代码,因为没给我说直接改了我的代码逻辑,出现了一些bug,脑子一灵光就想到了看一下返回的公共实体类,我直接看编辑记录,果然有他,我就对比了一下之前的版本,发现他改掉了isEmpty()换成了hasText(),改回来就好了,于是查了一下这两者的区别;

  2. 上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 "));
    }
    
  3. 总结:hasText()和isEmpty()无法替换的,isEmpty()为空的标准是str == null 或 str.length() == 0,hasText()是只要字符串里面有” “都会返回true,但是””,返回的是false。

  4. finally,感谢我的同事赠与我这篇文章素材!!!



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