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"