判空用StringUtils.isBlank還是StringUtils.isEmpty?
本文公眾號來源:Java旅途 作者:Java旅途 本文已收錄至我的GitHub
在我們?nèi)粘i_發(fā)中,判空應(yīng)該是最常用的一個(gè)操作了。因此項(xiàng)目中總是少不了依賴commons-lang3包。這個(gè)包為我們提供了兩個(gè)判空的方法,分別是StringUtils.isEmpty(CharSequence cs)和StringUtils.isBlank(CharSequence cs)。我們分別來看看這兩個(gè)方法有什么區(qū)別。
一、StringUtils.isEmpty
isEmpty的源碼如下:

這個(gè)方法判斷的是字符串是否為null或者其長度是否為零。
「測試效果」

二、StringUtils.isBlank
isBlank的源碼如下:

length(cs)的方法如下

這個(gè)方法除了判斷字符串是否為null和長度是否為零,還判斷了是否為空格,如果是空格也返回true。
「測試效果」

三、總結(jié)
isEmpty:如果是null或者“”則返回true。 isBlank:如果是null或者“”或者空格或者制表符則返回true。「isBlank判空更加準(zhǔn)確」。
四、擴(kuò)展
在實(shí)際開發(fā)中,除了isBlank判空的幾種情況之外,其實(shí)“null”字符串我們也會當(dāng)作空字符串處理。
我們需要判斷幾個(gè)字段同時(shí)不能為空,如果還用isBlank就顯得有點(diǎn)累贅了。我們可以使用String的可變參數(shù)提供如下工具類。

這個(gè)工具類的優(yōu)點(diǎn)很明顯,一方面判斷了字符串“null”,另一方面對參數(shù)個(gè)數(shù)無限制,只要有一個(gè)參數(shù)是空則返回true。
各類知識點(diǎn)總結(jié)
下面的文章都有對應(yīng)的原創(chuàng)精美PDF,在持續(xù)更新中,可以來找我催更~
掃碼或者微信搜Java3y?免費(fèi)領(lǐng)取原創(chuàng)思維導(dǎo)圖、精美PDF。在公眾號回復(fù)「888」領(lǐng)取,PDF內(nèi)容純手打有任何不懂歡迎來問我。
原創(chuàng)電子書
原創(chuàng)思維導(dǎo)圖
![]() |
|




