欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

StringUtils工具类中的isEmpty

程序员文章站 2024-02-28 21:53:34
...

1.使用需要导报

   <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.9</version>
   </dependency>

2.判断是否为空

  StringUtils.isEmpty(null) = true
  StringUtils.isEmpty("") = true 
  StringUtils.isEmpty(" ") = false //注意在 StringUtils 中空格作非空处理
  StringUtils.isEmpty("   ") = false
  StringUtils.isEmpty("bob") = false
  StringUtils.isEmpty(" bob ") = false

3.在使用StringUtils.isEmpty和String.valueOf(null)遇见的问题

StringUtils工具类中的isEmpty

这就很奇怪 ,让我非常的难受
后来百度了一下 终于解决了

来看一下valueOf的源码,发现 传入的值为null时,返回的是’null’

    public static String valueOf(Object obj) {
        return (obj == null) ? "null" : obj.toString();
    }

所以配合着 isEmpty就会有问题

4.总结

鉴于valueOf()可能会返回"null"字符串,使用时要特别注意,不能再用StringUtils.isEmpty()或isBlank()来简单地判断valueOf()返回值是否为空了。

相关标签: 注意点 java