判空用StringUtils.isBlank还是StringUtils.isEmpty?
Java3y
共 1032字,需浏览 3分钟
·
2020-07-27 17:45
本文公众号来源: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,在持续更新中,可以来找我催更~
扫码或者微信搜Java3y 免费领取原创思维导图、精美PDF。在公众号回复「888」领取,PDF内容纯手打有任何不懂欢迎来问我。
原创电子书
原创思维导图
评论