StringUtils中 isNotEmpty 和isNotBlank的区别java字符串判空

Posted 暮雨晨光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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("	 
 f 
") = true //对于制表符、换行符、换页符和回车符StringUtils.isBlank()均识为空白符
 37 StringUtils.isBlank("") = false //""为单词边界符
 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("	 
 f 
") = false
 50 StringUtils.isNotBlank("") = 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("  	 
 f 
 ") = ""
 63 StringUtils.trim(" 
	ss ") = "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("  	 
 f 
 ") = null
 76 StringUtils.trimToNull(" 
	ss ") = "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("  	 
 f 
 ") = ""
 89 StringUtils.trimToEmpty(" 
	ss ") = "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("  	 
 f 
 ") = ""
102 StringUtils.strip(" 
	ss ") = "ss "
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("  	 
 f 
 ") = ""
115 StringUtils.stripToNull(" 
	ss ") = "ss "
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("  	 
 f 
 ") = ""
128 StringUtils.stripToNull(" 
	ss ") = "ss "
129 StringUtils.stripToNull(" d d dd ") = "d d dd"
130 StringUtils.stripToNull("dd ") = "dd"
131 StringUtils.stripToNull(" dd ") = "dd"
技术分享图片

 



以上是关于StringUtils中 isNotEmpty 和isNotBlank的区别java字符串判空的主要内容,如果未能解决你的问题,请参考以下文章

StringUtils中 isNotEmpty 和isNotBlank的区别

StringUtils中 isNotEmpty 和isNotBlank的区别

StringUtils中 isNotEmpty 和isNotBlank的区别

StringUtils.isNotBlank 和StringUtils.isNotEmpty 的区别

Java学习之StringUtils.isEmpty()和StringUtils.isNotEmpty()

StringUtils中 isNotEmpty 和isNotBlank的区别