如下是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)); //trueSystem.out.println(StrUtil.isNotEmpty(a)); //trueString b = " ";System.out.println(StrUtil.isNotBlank(b)); //falseSystem.out.println(StrUtil.isNotEmpty(b)); //trueString c = null; System.out.println(StrUtil.isNotBlank(c)); //falseSystem.out.println(StrUtil.isNotEmpty(c)); //falseString d = "";System.out.println(StrUtil.isNotBlank(d)); //falseSystem.out.println(StrUtil.isNotEmpty(d)); //false
}
● 在实际业务中,如果需要严格检查字符串是否包含有实际意义的非空白字符(即忽略空白字符),那么应该使用isNotBlank。
● 如果只需要检查字符串是否非空(包括可能只包含空白字符的情况),那么可以使用isNotEmpty。