判空用StringUtils.isBlank还是StringUtils.isEmpty?
本文公众号来源:Java旅途作者:Java旅途本文已收录至我的GitHub
在我们日常开发中,判空应该是最常用的一个操作了。因此项目中总是少不了依赖commons-lang3包。这个包为我们提供了两个判空的方法,分别是StringUtils.isEmpty(CharSequence cs)和StringUtils.isBlank(CharSequence cs)。我们分别来看看这两个方法有什么区别。
一、StringUtils.isEmpty
isEmpty的源码如下:
这个方法判断的是字符串是否为null或者其长度是否为零。
「测试效果」
二、StringUtils.isBlank
isBlank的源码如下:
length(cs)的方法如下
这个方法除了判断字符串是否为null和长度是否为零,还判断了是否为空格,如果是空格也返回true。
「测试效果」
三、总结
- isEmpty:如果是null或者“”则返回true。
- isBlank:如果是null或者“”或者空格或者制表符则返回true。「isBlank判空更加准确」。
四、扩展
在实际开发中,除了isBlank判空的几种情况之外,其实“null”字符串我们也会当作空字符串处理。
我们需要判断几个字段同时不能为空,如果还用isBlank就显得有点累赘了。我们可以使用String的可变参数提供如下工具类。
这个工具类的优点很明显,一方面判断了字符串“null”,另一方面对参数个数无限制,只要有一个参数是空则返回true。
各类知识点总结
下面的文章都有对应的原创精美PDF,在持续更新中,可以来找我催更~
- 92页的Mybatis
- 129页的多线程
- 141页的Servlet
- 158页的JSP
- 76页的集合
- 64页的JDBC
- 105页的数据结构和算法
- 142页的Spring
- 58页的过滤器和监听器
- 30页的HTTP
- 42页的SpringMVC
- Hibernate
- AJAX
- Redis
- ......
扫码或者微信搜Java3y 免费领取原创思维导图、精美PDF。在公众号回复「888」领取,PDF内容纯手打有任何不懂欢迎来问我。
原创电子书
原创思维导图
评论