StringUtils中 isNotEmpty 和isNotBlank的區別【java字串判空】
阿新 • • 發佈:2020-08-14
StringUtils中 isNotEmpty 和isNotBlank的區別【java字串判空】
1 isNotEmpty(str)等價於 str != null && str.length > 0
2 isNotBlank(str) 等價於 str != null && str.length > 0 && str.trim().length > 0
3 同理
4 isEmpty 等價於 str == null || str.length == 0
5 isBlank 等價於 str == null || str.length == 0 || str.trim().length == 0
6
7 str.length > 0 && str.trim().length > 0 ---> str.length > 0
1 StringUtils方法的操作物件是java.lang.String型別的物件,是JDK提供的String型別操作方法的補充,並且是null安全的(即如果輸入引數String為null則不會丟擲NullPointerException,而是做了相應處理,例如,如果輸入為null則返回也是null等,具體可以檢視原始碼)。
2
3
4 除了構造器,StringUtils中一共有130多個方法,並且都是static的,所以我們可以這樣呼叫StringUtils.xxx()
5
6
7 1. public static boolean isEmpty(String str)
8 判斷某字串是否為空,為空的標準是str==null或str.length()==0
9 下面是StringUtils判斷是否為空的示例:
10 StringUtils.isEmpty(null) = true
11 StringUtils.isEmpty("") = true
12 StringUtils.isEmpty(" ") = false //注意在StringUtils中空格作非空處理
13 StringUtils.isEmpty(" ") = false
14 StringUtils.isEmpty("bob") = false
15 StringUtils.isEmpty(" bob ") = false
16
17
18 2. public static boolean isNotEmpty(String str)
19 判斷某字串是否非空,等於!isEmpty(String str)
20 下面是示例:
21 StringUtils.isNotEmpty(null) = false
22 StringUtils.isNotEmpty("") = false
23 StringUtils.isNotEmpty(" ") = true
24 StringUtils.isNotEmpty(" ") = true
25 StringUtils.isNotEmpty("bob") = true
26 StringUtils.isNotEmpty(" bob ") = true
27
28
29 3. public static boolean isBlank(String str)
30 判斷某字串是否為空或長度為0或由空白符(whitespace)構成
31 下面是示例:
32 StringUtils.isBlank(null) = true
33 StringUtils.isBlank("") = true
34 StringUtils.isBlank(" ") = true
35 StringUtils.isBlank(" ") = true
36 StringUtils.isBlank("\t \n \f \r") = true //對於製表符、換行符、換頁符和回車符StringUtils.isBlank()均識為空白符
37 StringUtils.isBlank("\b") = false //"\b"為單詞邊界符
38 StringUtils.isBlank("bob") = false
39 StringUtils.isBlank(" bob ") = false
40
41
42 4. public static boolean isNotBlank(String str)
43 判斷某字串是否不為空且長度不為0且不由空白符(whitespace)構成,等於!isBlank(String str)
44 下面是示例:
45 StringUtils.isNotBlank(null) = false
46 StringUtils.isNotBlank("") = false
47 StringUtils.isNotBlank(" ") = false
48 StringUtils.isNotBlank(" ") = false
49 StringUtils.isNotBlank("\t \n \f \r") = false
50 StringUtils.isNotBlank("\b") = true
51 StringUtils.isNotBlank("bob") = true
52 StringUtils.isNotBlank(" bob ") = true
53
54
55 其他方法介紹:
56 5. public static String trim(String str)
57 去掉字串兩端的控制符(control characters, char <= 32),如果輸入為null則返回null
58 下面是示例:
59 StringUtils.trim(null) = null
60 StringUtils.trim("") = ""
61 StringUtils.trim(" ") = ""
62 StringUtils.trim(" \b \t \n \f \r ") = ""
63 StringUtils.trim(" \n\tss \b") = "ss"
64 StringUtils.trim(" d d dd ") = "d d dd"
65 StringUtils.trim("dd ") = "dd"
66 StringUtils.trim(" dd ") = "dd"
67
68
69 6. public static String trimToNull(String str)
70 去掉字串兩端的控制符(control characters, char <= 32),如果變為null或"",則返回null
71 下面是示例:
72 StringUtils.trimToNull(null) = null
73 StringUtils.trimToNull("") = null
74 StringUtils.trimToNull(" ") = null
75 StringUtils.trimToNull(" \b \t \n \f \r ") = null
76 StringUtils.trimToNull(" \n\tss \b") = "ss"
77 StringUtils.trimToNull(" d d dd ") = "d d dd"
78 StringUtils.trimToNull("dd ") = "dd"
79 StringUtils.trimToNull(" dd ") = "dd"
80
81
82 7. public static String trimToEmpty(String str)
83 去掉字串兩端的控制符(control characters, char <= 32),如果變為null或"",則返回""
84 下面是示例:
85 StringUtils.trimToEmpty(null) = ""
86 StringUtils.trimToEmpty("") = ""
87 StringUtils.trimToEmpty(" ") = ""
88 StringUtils.trimToEmpty(" \b \t \n \f \r ") = ""
89 StringUtils.trimToEmpty(" \n\tss \b") = "ss"
90 StringUtils.trimToEmpty(" d d dd ") = "d d dd"
91 StringUtils.trimToEmpty("dd ") = "dd"
92 StringUtils.trimToEmpty(" dd ") = "dd"
93
94
95 8. public static String strip(String str)
96 去掉字串兩端的空白符(whitespace),如果輸入為null則返回null
97 下面是示例(注意和trim()的區別):
98 StringUtils.strip(null) = null
99 StringUtils.strip("") = ""
100 StringUtils.strip(" ") = ""
101 StringUtils.strip(" \b \t \n \f \r ") = "\b"
102 StringUtils.strip(" \n\tss \b") = "ss \b"
103 StringUtils.strip(" d d dd ") = "d d dd"
104 StringUtils.strip("dd ") = "dd"
105 StringUtils.strip(" dd ") = "dd"
106
107
108 9. public static String stripToNull(String str)
109 去掉字串兩端的空白符(whitespace),如果變為null或"",則返回null
110 下面是示例(注意和trimToNull()的區別):
111 StringUtils.stripToNull(null) = null
112 StringUtils.stripToNull("") = null
113 StringUtils.stripToNull(" ") = null
114 StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"
115 StringUtils.stripToNull(" \n\tss \b") = "ss \b"
116 StringUtils.stripToNull(" d d dd ") = "d d dd"
117 StringUtils.stripToNull("dd ") = "dd"
118 StringUtils.stripToNull(" dd ") = "dd"
119
120
121 10. public static String stripToEmpty(String str)
122 去掉字串兩端的空白符(whitespace),如果變為null或"",則返回""
123 下面是示例(注意和trimToEmpty()的區別):
124 StringUtils.stripToNull(null) = ""
125 StringUtils.stripToNull("") = ""
126 StringUtils.stripToNull(" ") = ""
127 StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"
128 StringUtils.stripToNull(" \n\tss \b") = "ss \b"
129 StringUtils.stripToNull(" d d dd ") = "d d dd"
130 StringUtils.stripToNull("dd ") = "dd"
131 StringUtils.stripToNull(" dd ") = "dd"
內容來自:https://www.cnblogs.com/dixinyunpan/p/6088612.html