Empty 空虚的,空洞的;Blank 空白的,未填的
以上简单的一个翻译 可以看出 Empty要比Blank 意义更深刻,实际用法也是如此!
1、Empty可以识别空格,做非空处理,如:
StringUtils.isEmpty("")=true
StringUtils.isEmpty(" ")=false
而Blank不可以识别空格,或者可以理解为,Blank中 空格 的效果 无,也还是表示空白
StringUtils.isBlank("")=true
StringUtils.isBlank(" ")=true
2、Empty可以识别 制表符、换行符、换页符和回车符,而Blank 则做 空白 处理
如:
StringUtils.isEmpty("\t \n \f \r")=false;
而:
StringUtils.isBlank("
\t \n \f \r")=true;
3、均可识别 单词边界符 \b
StringUtils.isEmpty("\b")=false
StringUtils.isBlank"\b")=false
!!!注意:
1、注意Empty Blank前是否加了not,注意逻辑转换
2、判断某字符串是否非空:
public static boolean isNotEmpty(String str)
相当于:
!isEmpty(String str)
对比Blank,判断某段字符串是否不为空且长度不为0,且不用空白符(whiteSpace)
public static boolean isNotBlank(String str)
等于!isBlank(String str)