isNotBlank与isNotEmpty的区别
今天在使用StirngUtils来实现非空判断的时候,idea将这个两个方法都提示了出来,这就引发了我的好奇,他们两个到底有什么区别呢?
于是,我又开始了面向百度学习,百度上各位大佬的意见都是英雄所见略同,我呢就在这总结一下,大概来说呢,就是这一句话
在很多的业务逻辑中,用isNotBlank 比 isNotEmpty要好。防止输入空格相关的字符
具体操作的话可以看这里
但是,我就是想知道它到底好到哪里了,于是我去看了源码
isNotEmpty
接着点isEmpty进去后
然后我们再来看一下isNotBlank 的
isNotBlank
接着点isBlank进去
(isBlank中isWhitespace方法里面还有很多,感兴趣的小伙伴可以点击源码进去看下)
这时候你会发现isBlank明显比isEmpty的判断操作多的多,这就是isNotBlank为什么比isNotEmpty好
然后我再看这个源码的时候,又发现了一个问题
我发现StringUtil和StringUtils里面都是支持isNotBlank和isNotEmpty这两个方法的,我就在想这两个类又有什么区别呢?
StringUtil和StringUtils
从包的引入上来看,这两个是有本质上的不同的,一个是apache的,一个是alibaba的,于是又开始了一波面向百度。
去看了半天结果没看出了本质区别是什么,也找到哪个比较好
这篇还是说的可以
然后就自己去看
StringUtils.isEmpty
然后点击isEmpty进去
StringUtil.isEmpty
点击isEmpty进去
我看这也什么大变化啊,也就是StringUtils有注释(虽然我也看不懂)
那我们接着看StringUtils.isNotBlank的
StringUtils.isNotBlank
然后老一套,进去
StringUtil.isNotBlank
关键的地方来了
这个地方是有些许的不一样的
但是,感觉又一样,应该是差不多,我目前也只能看到这里了
小结
大家要是进行判空操作的话可以使用StringUtils.isNotBlank来操作(个人推荐)
要是有什么不对的地方请各位大佬多多指教