欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳談StringUtils3之StringUtils.isEmpty()和StringUtils.isB的區(qū)別

 更新時(shí)間:2022年07月01日 09:45:10   作者:Moshow鄭鍇  
這篇文章主要介紹了詳談StringUtils3之StringUtils.isEmpty()和StringUtils.isB的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

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

#isEmpty系列

StringUtils.isEmpty()

>>>是否為空. 可以看到 " " 空格是會(huì)繞過(guò)這種空判斷,因?yàn)槭且粋€(gè)空格,并不是嚴(yán)格的空值,會(huì)導(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 true} if 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()

>>>是否有一個(gè)為空,只有一個(gè)為空,就為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 true} if 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 true} if none of the CharSequences are empty or null
     * @since 3.2
     */
    public static boolean isNoneEmpty(final CharSequence... css) {
      return !isAnyEmpty(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 true} if 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 true} if 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 true} if 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的其他方法

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

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比較兩個(gè)字符串是否為null安全的
startsWithcheck if a String starts with a prefix null-safe檢查字符串是否以前綴null安全開(kāi)頭
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字符串是否僅包含/無(wú)/這些字符中的任何一個(gè)
Substring/Left/Right/Midnull-safe substring extractions字符串安全提取
SubstringBefore/SubstringAfter/SubstringBetweensubstring extraction relative to other strings -相對(duì)其他字符串的字符串提取 
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搜索字符串,然后用另一個(gè)字符串替換
Chomp/Chopremoves the last part of a String刪除字符串的最后一部分
AppendIfMissingappends a suffix to the end of the String if not present如果不存在后綴,則在字符串的末尾附加一個(gè)后綴
PrependIfMissingprepends a prefix to the start of the String if not present如果不存在前綴,則在字符串的開(kāi)頭添加前綴
LeftPad/RightPad/Center/Repeatpads a String填充字符串
UpperCase/LowerCase/SwapCase/Capitalize/Uncapitalizechanges the case of a String更改字符串的大小寫(xiě)
CountMatchescounts the number of occurrences of one String in another計(jì)算一個(gè)字符串在另一個(gè)字符串中出現(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使用省略號(hào)或另一個(gè)給定的String縮寫(xiě)一個(gè)字符串
Differencecompares Strings and reports on their differences比較字符串并報(bào)告其差異
LevenshteinDistancethe number of changes needed to change one String into another將一個(gè)String轉(zhuǎn)換為另一個(gè)String所需的更改次數(shù)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談java中math類(lèi)中三種取整函數(shù)的區(qū)別

    淺談java中math類(lèi)中三種取整函數(shù)的區(qū)別

    下面小編就為大家?guī)?lái)一篇淺談java中math類(lèi)中三種取整函數(shù)的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • Java中注解@JsonFormat的用法詳解

    Java中注解@JsonFormat的用法詳解

    這篇文章主要給大家介紹了關(guān)于Java中注解@JsonFormat用法的相關(guān)資料,以及分享了@JsonFormat 將枚舉序列化為對(duì)象的方法,文中給出了詳細(xì)的代碼實(shí)例,需要的朋友可以參考下
    2023-01-01
  • 淺談MyBatis3 DynamicSql風(fēng)格語(yǔ)法使用指南

    淺談MyBatis3 DynamicSql風(fēng)格語(yǔ)法使用指南

    這篇文章主要介紹了淺談MyBatis3 DynamicSql風(fēng)格語(yǔ)法使用指南,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Java8?Stream?流常用方法合集

    Java8?Stream?流常用方法合集

    這篇文章主要介紹了?Java8?Stream?流常用方法合集,Stream?是?Java8?中處理集合的關(guān)鍵抽象概念,它可以指定你希望對(duì)集合進(jìn)行的操作,可以執(zhí)行非常復(fù)雜的查找、過(guò)濾和映射數(shù)據(jù)等操作,下文相關(guān)資料,需要的朋友可以參考一下
    2022-04-04
  • springboot詳解實(shí)現(xiàn)車(chē)險(xiǎn)理賠信息管理系統(tǒng)代碼

    springboot詳解實(shí)現(xiàn)車(chē)險(xiǎn)理賠信息管理系統(tǒng)代碼

    本系統(tǒng)基于Springboot開(kāi)發(fā)實(shí)現(xiàn)了一個(gè)為用戶(hù)車(chē)險(xiǎn)進(jìn)行理賠信息管理的一個(gè)信息化管理系統(tǒng),核心的業(yè)務(wù)主要是用戶(hù)申請(qǐng)保險(xiǎn)理賠,管理員審核進(jìn)入理賠程序,事故調(diào)查員對(duì)事故進(jìn)行調(diào)查和現(xiàn)場(chǎng)勘察,這其中共涉及到三類(lèi)用戶(hù),購(gòu)買(mǎi)保險(xiǎn)的客戶(hù),事故調(diào)查員和系統(tǒng)管理員
    2022-06-06
  • Java經(jīng)典設(shè)計(jì)模式之責(zé)任鏈模式原理與用法詳解

    Java經(jīng)典設(shè)計(jì)模式之責(zé)任鏈模式原理與用法詳解

    這篇文章主要介紹了Java經(jīng)典設(shè)計(jì)模式之責(zé)任鏈模式,簡(jiǎn)單說(shuō)明了責(zé)任鏈模式的概念、原理,并結(jié)合實(shí)例形式分析了java實(shí)現(xiàn)責(zé)任鏈模式的具體用法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-08-08
  • java通過(guò)URLClassLoader類(lèi)加載器加載外部jar代碼示例

    java通過(guò)URLClassLoader類(lèi)加載器加載外部jar代碼示例

    ClassLoader翻譯過(guò)來(lái)就是類(lèi)加載器,普通的java開(kāi)發(fā)者其實(shí)用到的不多,但對(duì)于某些框架開(kāi)發(fā)者來(lái)說(shuō)卻非常常見(jiàn),下面這篇文章主要給大家介紹了關(guān)于java通過(guò)URLClassLoader類(lèi)加載器加載外部jar的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • java?list和map切割分段的實(shí)現(xiàn)及多線(xiàn)程應(yīng)用案例

    java?list和map切割分段的實(shí)現(xiàn)及多線(xiàn)程應(yīng)用案例

    這篇文章主要為大家介紹了java?list和map切割分段的實(shí)現(xiàn)及多線(xiàn)程應(yīng)用案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • java線(xiàn)程池的四種創(chuàng)建方式詳細(xì)分析

    java線(xiàn)程池的四種創(chuàng)建方式詳細(xì)分析

    這篇文章主要介紹了java線(xiàn)程池的四種創(chuàng)建方式詳細(xì)分析,連接池是創(chuàng)建和管理一個(gè)連接的緩沖池的技術(shù),這些連接準(zhǔn)備好被任何需要它們的線(xiàn)程使用
    2022-07-07
  • Java編程實(shí)現(xiàn)直接插入排序代碼示例

    Java編程實(shí)現(xiàn)直接插入排序代碼示例

    這篇文章主要介紹了Java編程實(shí)現(xiàn)直接插入排序代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12

最新評(píng)論