<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          判空我推薦用StringUtils.isBlank

          共 1039字,需瀏覽 3分鐘

           ·

          2021-11-09 19:56

          點(diǎn)擊上方?Java旅途,選擇?設(shè)為星標(biāo)

          優(yōu)質(zhì)文章,每日送達(dá)




          在我們?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的源碼如下:

          public?static?boolean?isEmpty(CharSequence?cs)?{
          ????return?cs?==?null?||?cs.length()?==?0;
          }

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

          測試效果

          public?class?BlankAndEmpty?{

          ????public?static?void?main(String[]?args)?{
          ????????
          ????????System.out.println(StringUtils.isEmpty(null));?//?true
          ????????System.out.println(StringUtils.isEmpty(""));?//true
          ????????System.out.println(StringUtils.isEmpty("?"));?//false
          ????????System.out.println(StringUtils.isEmpty("\t"));?//false
          ????????System.out.println(StringUtils.isEmpty("Java旅途"));?//false
          ????}
          }

          二、StringUtils.isBlank

          isBlank的源碼如下:

          public?static?boolean?isBlank(CharSequence?cs)?{
          ????int?strLen?=?length(cs);
          ????if?(strLen?==?0)?{
          ????????return?true;
          ????}?else?{
          ????????for(int?i?=?0;?i?????????????if?(!Character.isWhitespace(cs.charAt(i)))?{
          ????????????????return?false;
          ????????????}
          ????????}

          ????????return?true;
          ????}
          }

          length(cs)的方法如下

          public?static?int?length(CharSequence?cs)?{
          ????return?cs?==?null???0?:?cs.length();
          }

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

          測試效果

          public?class?BlankAndEmpty?{

          ????public?static?void?main(String[]?args)?{

          ????????System.out.println(StringUtils.isBlank(null));?//true
          ????????System.out.println(StringUtils.isBlank(""));?//true
          ????????System.out.println(StringUtils.isBlank("?"));?//true
          ????????System.out.println(StringUtils.isBlank("\t"));?//true
          ????????System.out.println(StringUtils.isBlank("Java旅途"));?//false
          ????}
          }

          三、總結(jié)

          • isEmpty:如果是null或者“”則返回true。
          • isBlank:如果是null或者“”或者空格或者制表符則返回true。isBlank判空更加準(zhǔn)確。

          四、擴(kuò)展

          1. 在實(shí)際開發(fā)中,除了isBlank判空的幾種情況之外,其實(shí)“null”字符串我們也會(huì)當(dāng)作空字符串處理。

          2. 我們需要判斷幾個(gè)字段同時(shí)不能為空,如果還用isBlank就顯得有點(diǎn)累贅了。我們可以使用String的可變參數(shù)提供如下工具類。

          public?class?StringTool?{

          ????public?static?boolean?isNullStr(String...?args)?{
          ????????boolean?falg?=?false;
          ????????for?(String?arg?:?args)?{
          ????????????if?(StringUtils.isBlank(arg)?||?arg.equals("null"))?{
          ????????????????falg?=?true;
          ????????????????return?falg;
          ????????????}
          ????????}
          ????????return?falg;
          ????}
          }

          這個(gè)工具類的優(yōu)點(diǎn)很明顯,一方面判斷了字符串“null”,另一方面對(duì)參數(shù)個(gè)數(shù)無限制,只要有一個(gè)參數(shù)是空則返回true。


          —?【 THE END 】—
          本公眾號(hào)全部博文已整理成一個(gè)目錄,請(qǐng)?jiān)诠娞?hào)里回復(fù)「m」獲??!

          最近面試BAT,整理一份面試資料Java面試BATJ通關(guān)手冊(cè),覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等等。

          獲取方式:點(diǎn)“在看”,關(guān)注公眾號(hào)并回復(fù) PDF?領(lǐng)取,更多內(nèi)容陸續(xù)奉上。

          文章有幫助的話,在看,轉(zhuǎn)發(fā)吧。

          謝謝支持喲 (*^__^*)

          瀏覽 32
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  无码人妻精品一区二区蜜桃网站文 | 久草视频观看 | 亚洲欧美国产视频 | 日日69| 亚洲无码1000 |