空校验(StringUtils.isBlank(String str) 、 StringUtils.isEmpty(String str)、StringUtils.isWhitespace(String str) )
StringUtils.isBlank(String str) 方法根据null对象、字符串长度、和空格字符串(" “)对参数字符串进行空校验,如果字符串对象为null对象、字符串长度为0、空格字符串(” ")则返回结果为true,反之则返回false。方法源码如下:
public static boolean isBlank(String str) {
int strLen;
if (str == null || (strLen = str.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if ((Character.isWhitespace(str.charAt(i)) == false)) {
return false;
}
}
return true;
}
StringUtils.isEmpty(String str) 方法根据null对象、字符串长度对参数字符串进行空校验, 如果字符串为null对象、字符串长度为0则返回true,反之返回false。方法源码如下:
public static boolean isEmpty(String str) {
return str == null || str.length() == 0;
}
StringUtils.isWhitespace(String str)方法是判断字符串是否为空格字符串(" “)。 如果是空格字符串(” "),则返回true,反之返回false。
三者区别在于:
- 当你只校验字符串是否为null和""对象时,三者无区别。
- 但是当你校验的对象为" "(空格字符串)时。isBlank方法和isWhitespace方法结果为 true, 而isEmpty方法结果为 false;
测试结果如下:
非空校验(StringUtils.isNotBlank(String str) 、StringUtils.isNotEmpty(String str))
StringUtils.isNotBlank(String str)方法是 StringUtils.isBlank(String str)方法的取反。
StringUtils.isNotEmpty(String str)方法是StringUtils.isEmpty(String str)方法的取反。
没有StringUtils.isNotWhitespace(String str)方法!!!
StringUtils.isNotBlank(String str)方法源码如下:
public static boolean isNotBlank(String str) {
return !StringUtils.isBlank(str);
}
StringUtils.isNotEmpty(String str)方法源码如下:
public static boolean isNotEmpty(String str) {
return !StringUtils.isEmpty(str);
}