StringUtils中 isNotEmpty 和isNotBlank的區別 – JAVA編程語言程序開發技術文章

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"

發佈留言