最近公司新招进来一个工作5年的高级java的程序员,代码中 isEmpty 和 isBlank 的区别 都不知道,一顿瞎用,看代码都觉得有点别扭。让我一起来探讨下org.apache.commons.lang3.StringUtils这个工具类
StringUtils.isEmpty()
System.out.println(StringUtils.isEmpty(null));
System.out.println(StringUtils.isEmpty(""));
System.out.println(StringUtils.isEmpty(" "));
System.out.println(StringUtils.isEmpty("a"));
System.out.println(StringUtils.isEmpty(" a "));
输出结果
判断是否为空,可以看到 " " 空格是会绕过这种空判断,因为是一个空格,并不是严格的空值。
StringUtils.isNotEmpty()
相当= !isEmpty()
StringUtils.isAnyEmpty()
是否有一个为空,只有一个为空,就为true.
StringUtils.isNoneEmpty()
相当于!isAnyEmpty(css) , 必须所有的值都不为空才返回true
isBank系列
StringUtils.isBlank()
是否为真空值(空格或者空值)
StringUtils.isNotBlank()
是否真的不为空,不是空格或者空值 ,相当于!isBlank();
StringUtils.isAnyBlank()
是否包含任何真空值(包含空格或空值)
StringUtils.isNoneBlank()
是否全部都不包含空值或空格
老铁收藏起来呗