StringUtils中 isNotEmpty 和isNotBlank的區別

StringUtils方法的操作對象是java.lang.String類型的對象,是JDK提供的String類型操作方法的補充,並且是null安全的(即如果輸入參數String爲null則不會拋出NullPointerException,而是做了相應處理,例如,如果輸入爲null則返回也是null等,具體可以查看源代碼)。


除了構造器,StringUtils中一共有130多個方法,並且都是static的,所以我們可以這樣調用StringUtils.xxx()


1. public static boolean isEmpty(String str)
判斷某字符串是否爲空,爲空的標準是str==null或str.length()==0
下面是StringUtils判斷是否爲空的示例:
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false //注意在StringUtils中空格作非空處理
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false


2. public static boolean isNotEmpty(String str)
判斷某字符串是否非空,等於!isEmpty(String str)
下面是示例:
StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("bob") = true
StringUtils.isNotEmpty(" bob ") = true


3. public static boolean isBlank(String str)
判斷某字符串是否爲空或長度爲0或由空白符(whitespace)構成
下面是示例:
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("\t \n \f \r") = true //對於製表符、換行符、換頁符和回車符StringUtils.isBlank()均識爲空白符
StringUtils.isBlank("\b") = false //"\b"爲單詞邊界符
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false


4. public static boolean isNotBlank(String str)
判斷某字符串是否不爲空且長度不爲0且不由空白符(whitespace)構成,等於!isBlank(String str)
下面是示例:
StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("\t \n \f \r") = false
StringUtils.isNotBlank("\b") = true
StringUtils.isNotBlank("bob") = true
StringUtils.isNotBlank(" bob ") = true


其他方法介紹:
5. public static String trim(String str)
去掉字符串兩端的控制符(control characters, char <= 32),如果輸入爲null則返回null
下面是示例:
StringUtils.trim(null) = null
StringUtils.trim("") = ""
StringUtils.trim(" ") = ""
StringUtils.trim(" \b \t \n \f \r ") = ""
StringUtils.trim(" \n\tss \b") = "ss"
StringUtils.trim(" d d dd ") = "d d dd"
StringUtils.trim("dd ") = "dd"
StringUtils.trim(" dd ") = "dd"


6. public static String trimToNull(String str)
去掉字符串兩端的控制符(control characters, char <= 32),如果變爲null或"",則返回null
下面是示例:
StringUtils.trimToNull(null) = null
StringUtils.trimToNull("") = null
StringUtils.trimToNull(" ") = null
StringUtils.trimToNull(" \b \t \n \f \r ") = null
StringUtils.trimToNull(" \n\tss \b") = "ss"
StringUtils.trimToNull(" d d dd ") = "d d dd"
StringUtils.trimToNull("dd ") = "dd"
StringUtils.trimToNull(" dd ") = "dd"


7. public static String trimToEmpty(String str)
去掉字符串兩端的控制符(control characters, char <= 32),如果變爲null或"",則返回""
下面是示例:
StringUtils.trimToEmpty(null) = ""
StringUtils.trimToEmpty("") = ""
StringUtils.trimToEmpty(" ") = ""
StringUtils.trimToEmpty(" \b \t \n \f \r ") = ""
StringUtils.trimToEmpty(" \n\tss \b") = "ss"
StringUtils.trimToEmpty(" d d dd ") = "d d dd"
StringUtils.trimToEmpty("dd ") = "dd"
StringUtils.trimToEmpty(" dd ") = "dd"


8. public static String strip(String str)
去掉字符串兩端的空白符(whitespace),如果輸入爲null則返回null
下面是示例(注意和trim()的區別):
StringUtils.strip(null) = null
StringUtils.strip("") = ""
StringUtils.strip(" ") = ""
StringUtils.strip(" \b \t \n \f \r ") = "\b"
StringUtils.strip(" \n\tss \b") = "ss \b"
StringUtils.strip(" d d dd ") = "d d dd"
StringUtils.strip("dd ") = "dd"
StringUtils.strip(" dd ") = "dd"


9. public static String stripToNull(String str)
去掉字符串兩端的空白符(whitespace),如果變爲null或"",則返回null
下面是示例(注意和trimToNull()的區別):
StringUtils.stripToNull(null) = null
StringUtils.stripToNull("") = null
StringUtils.stripToNull(" ") = null
StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"
StringUtils.stripToNull(" \n\tss \b") = "ss \b"
StringUtils.stripToNull(" d d dd ") = "d d dd"
StringUtils.stripToNull("dd ") = "dd"
StringUtils.stripToNull(" dd ") = "dd"


10. public static String stripToEmpty(String str)
去掉字符串兩端的空白符(whitespace),如果變爲null或"",則返回""
下面是示例(注意和trimToEmpty()的區別):
StringUtils.stripToNull(null) = ""
StringUtils.stripToNull("") = ""
StringUtils.stripToNull(" ") = ""
StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"
StringUtils.stripToNull(" \n\tss \b") = "ss \b"
StringUtils.stripToNull(" d d dd ") = "d d dd"
StringUtils.stripToNull("dd ") = "dd"
StringUtils.stripToNull(" dd ") = "dd"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章