如下是hutool的StrUtil工具包下的源码
结果:如果字符串仅由空白字符组成(比如 " "),那么isNotBlank将返回false,而isNotEmpty返回true。
isNotBlank当中的Blank是空白的意思,也就是是否不等于空白。
isNotEmpty当中的Empty是空的意思,也就是是否不等于空的。
空和空白是两码事。
public static void main(String[] args) {
String a = " hello ";
System.out.println(StrUtil.isNotBlank(a)); //true
System.out.println(StrUtil.isNotEmpty(a)); //true
String b = " ";
System.out.println(StrUtil.isNotBlank(b)); //false
System.out.println(StrUtil.isNotEmpty(b)); //true
String c = null;
System.out.println(StrUtil.isNotBlank(c)); //false
System.out.println(StrUtil.isNotEmpty(c)); //false
String d = "";
System.out.println(StrUtil.isNotBlank(d)); //false
System.out.println(StrUtil.isNotEmpty(d)); //false
}
● 在实际业务中,如果需要严格检查字符串是否包含有实际意义的非空白字符(即忽略空白字符),那么应该使用isNotBlank。
● 如果只需要检查字符串是否非空(包括可能只包含空白字符的情况),那么可以使用isNotEmpty。