<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>

          isEmpty 和 isBlank 的用法區(qū)別,至少一半的人答不上來...

          共 10923字,需瀏覽 22分鐘

           ·

          2022-06-21 08:51

          大家好,我是寶哥!

          也許你兩個都不知道,也許你除了isEmpty/isNotEmpty/isNotBlank/isBlank外,并不知道還有isAnyEmpty/isNoneEmpty/isAnyBlank/isNoneBlank的存在, come on ,讓我們一起來探索org.apache.commons.lang3.StringUtils;這個工具類。

          isEmpty系列

          StringUtils.isEmpty()

          是否為空. 可以看到 " " 空格是會繞過這種空判斷,因為是一個空格,并不是嚴格的空值,會導(dǎo)致 isEmpty(" ")=false

          StringUtils.isEmpty(null) = true
          StringUtils.isEmpty("") = true
          StringUtils.isEmpty(" ") = false
          StringUtils.isEmpty("bob") = false
          StringUtils.isEmpty(" bob ") = false
          /**
           *
           * <p>NOTE: This method changed in Lang version 2.0.
           * It no longer trims the CharSequence.
           * That functionality is available in isBlank().</p>
           *
           * @param cs  the CharSequence to check, may be null
           * @return {@code trueif the CharSequence is empty or null
           * @since 3.0 Changed signature from isEmpty(String) to isEmpty(CharSequence)
           */
          public static boolean isEmpty(final CharSequence cs) {
              return cs == null || cs.length() == 0;
          }

          StringUtils.isNotEmpty()

          相當(dāng)于不為空 , = !isEmpty()

          public static boolean isNotEmpty(final CharSequence cs) {
                  return !isEmpty(cs);
              }

          StringUtils.isAnyEmpty()

          是否有一個為空,只有一個為空,就為true。

          StringUtils.isAnyEmpty(null) = true
          StringUtils.isAnyEmpty(null, "foo") = true
          StringUtils.isAnyEmpty("""bar") = true
          StringUtils.isAnyEmpty("bob""") = true
          StringUtils.isAnyEmpty(" bob ", null) = true
          StringUtils.isAnyEmpty(" ""bar") = false
          StringUtils.isAnyEmpty("foo""bar") = false
          /**
           * @param css  the CharSequences to check, may be null or empty
           * @return {@code trueif any of the CharSequences are empty or null
           * @since 3.2
           */
          public static boolean isAnyEmpty(final CharSequence... css) {
            if (ArrayUtils.isEmpty(css)) {
              return true;
            }
            for (final CharSequence cs : css){
              if (isEmpty(cs)) {
                return true;
              }
            }
            return false;
          }

          StringUtils.isNoneEmpty()

          相當(dāng)于!isAnyEmpty(css) , 必須所有的值都不為空才返回true

          /**
           * <p>Checks if none of the CharSequences are empty ("") or null.</p>
           *
           * <pre>
           * StringUtils.isNoneEmpty(null)             = false
           * StringUtils.isNoneEmpty(null, "foo")      = false
           * StringUtils.isNoneEmpty("""bar")        = false
           * StringUtils.isNoneEmpty("bob""")        = false
           * StringUtils.isNoneEmpty("  bob  ", null)  = false
           * StringUtils.isNoneEmpty(" ""bar")       = true
           * StringUtils.isNoneEmpty("foo""bar")     = true
           * </pre>
           *
           * @param css  the CharSequences to check, may be null or empty
           * @return {@code trueif none of the CharSequences are empty or null
           * @since 3.2
           */
          public static boolean isNoneEmpty(final CharSequence... css) {

          isBank系列

          StringUtils.isBlank()

          是否為真空值(空格或者空值)

          StringUtils.isBlank(null) = true
          StringUtils.isBlank("") = true
          StringUtils.isBlank(" ") = true
          StringUtils.isBlank("bob") = false
          StringUtils.isBlank(" bob ") = false
          /**
           * <p>Checks if a CharSequence is whitespace, empty ("") or null.</p>
           * @param cs  the CharSequence to check, may be null
           * @return {@code trueif the CharSequence is null, empty or whitespace
           * @since 2.0
           * @since 3.0 Changed signature from isBlank(String) to isBlank(CharSequence)
           */
          public static boolean isBlank(final CharSequence cs) {
              int strLen;
              if (cs == null || (strLen = cs.length()) == 0) {
                  return true;
              }
              for (int i = 0; i < strLen; i++) {
                  if (Character.isWhitespace(cs.charAt(i)) == false) {
                      return false;
                  }
              }
              return true;
          }

          StringUtils.isNotBlank()

          是否真的不為空,不是空格或者空值 ,相當(dāng)于!isBlank();

          public static boolean isNotBlank(final CharSequence cs) {
                  return !isBlank(cs);
              }

          StringUtils.isAnyBlank()

          是否包含任何真空值(包含空格或空值)

          StringUtils.isAnyBlank(null) = true
          StringUtils.isAnyBlank(null, "foo") = true
          StringUtils.isAnyBlank(null, null) = true
          StringUtils.isAnyBlank("""bar") = true
          StringUtils.isAnyBlank("bob""") = true
          StringUtils.isAnyBlank(" bob ", null) = true
          StringUtils.isAnyBlank(" ""bar") = true
          StringUtils.isAnyBlank("foo""bar") = false
           /**
           * <p>Checks if any one of the CharSequences are blank ("") or null and not whitespace only..</p>
           * @param css  the CharSequences to check, may be null or empty
           * @return {@code trueif any of the CharSequences are blank or null or whitespace only
           * @since 3.2
           */
          public static boolean isAnyBlank(final CharSequence... css) {
            if (ArrayUtils.isEmpty(css)) {
              return true;
            }
            for (final CharSequence cs : css){
              if (isBlank(cs)) {
                return true;
              }
            }
            return false;
          }

          StringUtils.isNoneBlank()

          是否全部都不包含空值或空格

          StringUtils.isNoneBlank(null) = false
          StringUtils.isNoneBlank(null, "foo") = false
          StringUtils.isNoneBlank(null, null) = false
          StringUtils.isNoneBlank("""bar") = false
          StringUtils.isNoneBlank("bob""") = false
          StringUtils.isNoneBlank(" bob ", null) = false
          StringUtils.isNoneBlank(" ""bar") = false
          StringUtils.isNoneBlank("foo""bar") = true
          /**
           * <p>Checks if none of the CharSequences are blank ("") or null and whitespace only..</p>
           * @param css  the CharSequences to check, may be null or empty
           * @return {@code trueif none of the CharSequences are blank or null or whitespace only
           * @since 3.2
           */
          public static boolean isNoneBlank(final CharSequence... css) {
            return !isAnyBlank(css);
          }

          StringUtils的其他方法

          可以參考官方的文檔,里面有詳細的描述,有些方法還是很好用的。

          https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html

          方法名英文解釋中文解釋
          IsEmpty/IsBlankchecks if a String contains text檢查字符串是否包含文本
          Trim/Stripremoves leading and trailing whitespace刪除前導(dǎo)和尾隨空格
          Equals/Comparecompares two strings null-safe比較兩個字符串是否為null安全的
          startsWithcheck if a String starts with a prefix null-safe檢查字符串是否以前綴null安全開頭
          endsWithcheck if a String ends with a suffix null-safe檢查字符串是否以后綴null安全結(jié)尾
          IndexOf/LastIndexOf/Containsnull-safe index-of checks包含空安全索引檢查
          IndexOfAny/LastIndexOfAny/IndexOfAnyBut/LastIndexOfAnyButindex-of any of a set of Strings任意一組字符串的索引
          ContainsOnly/ContainsNone/ContainsAnydoes String contains only/none/any of these characters字符串是否僅包含/無/這些字符中的任何一個
          Substring/Left/Right/Midnull-safe substring extractions字符串安全提取
          SubstringBefore/SubstringAfter/SubstringBetweensubstring extraction relative to other strings -相對其他字符串的字符串提取
          Split/Joinsplits a String into an array of substrings and vice versa將字符串拆分為子字符串?dāng)?shù)組,反之亦然
          Remove/Deleteremoves part of a String -刪除字符串的一部分
          Replace/OverlaySearches a String and replaces one String with another搜索字符串,然后用另一個字符串替換
          Chomp/Chopremoves the last part of a String刪除字符串的最后一部分
          AppendIfMissingappends a suffix to the end of the String if not present如果不存在后綴,則在字符串的末尾附加一個后綴
          PrependIfMissingprepends a prefix to the start of the String if not present如果不存在前綴,則在字符串的開頭添加前綴
          LeftPad/RightPad/Center/Repeatpads a String填充字符串
          UpperCase/LowerCase/SwapCase/Capitalize/Uncapitalizechanges the case of a String更改字符串的大小寫
          CountMatchescounts the number of occurrences of one String in another計算一個字符串在另一個字符串中出現(xiàn)的次數(shù)
          IsAlpha/IsNumeric/IsWhitespace/IsAsciiPrintablechecks the characters in a String檢查字符串中的字符
          DefaultStringprotects against a null input String防止輸入字符串為空
          Rotaterotate (circular shift) a String旋轉(zhuǎn)(循環(huán)移位)字符串
          Reverse/ReverseDelimitedreverses a String -反轉(zhuǎn)字符串
          Abbreviateabbreviates a string using ellipsis or another given String使用省略號或另一個給定的String縮寫一個字符串
          Differencecompares Strings and reports on their differences比較字符串并報告其差異
          LevenshteinDistancethe number of changes needed to change one String into another將一個String轉(zhuǎn)換為另一個String所需的更改次數(shù)
          文章來源:https://sourl.cn/dRpJ6b

          精彩推薦:

          一套 Spring Boot + Vue 的物聯(lián)網(wǎng)智能家居系統(tǒng)!

          擼了一個SpringBoot 全局異常攔截器

          從零開始搭建一個通用的業(yè)務(wù)技術(shù)架構(gòu),這套架構(gòu)絕了!

          2萬字詳解,吃透 Elasticsearch

          手把手教你將程序部署到服務(wù)器!

          瀏覽 26
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  久久91av | 久久黄色免费网站 | 色哟哟免费视频一区二区三区 | xxxxx在线观看国产 | 精产国品一区二区区别 |