判空用StringUtils.isBlank还是StringUtils.isEmpty?

共 1078字,需浏览 3分钟

 ·

2020-07-21 16:10


本文公众号来源:Java旅途作者:Java旅途本文已收录至我的GitHub

在我们日常开发中,判空应该是最常用的一个操作了。因此项目中总是少不了依赖commons-lang3包。这个包为我们提供了两个判空的方法,分别是StringUtils.isEmpty(CharSequence cs)和StringUtils.isBlank(CharSequence cs)。我们分别来看看这两个方法有什么区别。

一、StringUtils.isEmpty

isEmpty的源码如下:

05bc12676deda83e9bd51d913b21caa5.webp

这个方法判断的是字符串是否为null或者其长度是否为零。

「测试效果」

08fd4e2e236da1f91c6330164be434fa.webp

二、StringUtils.isBlank

isBlank的源码如下:

12ced0f32e536c341ad234324aaa5664.webp

length(cs)的方法如下

21a1b245fba11e45db5da9af92e1b1b9.webp

这个方法除了判断字符串是否为null和长度是否为零,还判断了是否为空格,如果是空格也返回true。

「测试效果」

f97b190fd6a739e357974c20e4cb58e0.webp

三、总结

  • isEmpty:如果是null或者“”则返回true。
  • isBlank:如果是null或者“”或者空格或者制表符则返回true。「isBlank判空更加准确」

四、扩展

  1. 在实际开发中,除了isBlank判空的几种情况之外,其实“null”字符串我们也会当作空字符串处理。

  2. 我们需要判断几个字段同时不能为空,如果还用isBlank就显得有点累赘了。我们可以使用String的可变参数提供如下工具类。

  3. 5e164c59af7aba0746f5a3b0d2e5178c.webp

这个工具类的优点很明显,一方面判断了字符串“null”,另一方面对参数个数无限制,只要有一个参数是空则返回true。

各类知识点总结

下面的文章都有对应的原创精美PDF,在持续更新中,可以来找我催更~

扫码或者微信搜Java3y 免费领取原创思维导图、精美PDF。在公众号回复「888」领取,PDF内容纯手打有任何不懂欢迎来问我。



 

原创电子书
635d3058ec96c9596973653b4f0f40d5.webp

原创思维导图

f49e7e22037fe6940ce06b267a1d0fbb.webp


b5a0141d85a114443e96fb381e465cf9.webp

2310f0bd9963582ac5188d0ea0a01faf.webp

2310f0bd9963582ac5188d0ea0a01faf.webp

我是三歪,一个想要变强的男人,感谢大家的点赞收藏和转发,下期见。
浏览 27
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报