经常使用org.apache.commons.lang3.StringUtils
中的isNotEmpty()和isNotBlank()方法进行判空。
public static void test1(String[] args) {
// isNotEmpty==判断某字符串是否非空
System.out.println(StringUtils.isNotEmpty(null)); // = false;
System.out.println(StringUtils.isNotEmpty("")); // false;
System.out.println(StringUtils.isNotEmpty(" "));// true;
System.out.println(StringUtils.isNotEmpty("bob")); // true;
}
public static void test2(String[] args) {
// isNotBlank:判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成,
System.err.println(StringUtils.isNotBlank(null)); // false
System.err.println(StringUtils.isNotBlank("")); // false
System.err.println(StringUtils.isNotBlank(" ")); // false
System.err.println(StringUtils.isNotBlank("\t \n \f \r")); // false
}
由上面可以看出isNotEmpty()方法会对空字符串进行判为非空,而isNotBlank()方法会将空字符串判为空,还会把回车、换行等特殊字符进行判空。
isNotEmpty()
isNotBlank()
isNotEmpty()和isNotBlank()提到了isEmpty()和isBlank()
isEmpty()
isBlank()
isNotEmpty等价于 a != null && a.length > 0
isNotBlank 等价于 a != null && a.length > 0 && str.trim().length > 0
日常使用isNotBlank()可以解决大多数问题,需要对" "进行判断处理时,使用isNotEmpty()