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)遇见的问题
这就很奇怪 ,让我非常的难受
后来百度了一下 终于解决了
来看一下valueOf的源码,发现 传入的值为null时,返回的是’null’
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
所以配合着 isEmpty就会有问题
4.总结
鉴于valueOf()可能会返回"null"字符串,使用时要特别注意,不能再用StringUtils.isEmpty()或isBlank()来简单地判断valueOf()返回值是否为空了。
上一篇: 手写Java线程池(超详细解说)
下一篇: Hibernate之CRUD操作实践