【Java】Java中isBlank与isEmpty的区别

Java中isBlank与isEmpty的区别


1.isEmpty

 

  • isEmpty(null)------true
  • isEmpty("")------true
  • isEmpty(" ")------false
  • isEmpty("aa")----false

2.isBlank

  • isBlank(null)------true
  • isBlank(" ")------true
  • isBlank(" ")------true
  • isBlank("      ")------true
  • isBlank("\t \n \f \r")------true      //制表符、换行符、换页符和回车符
  • isBlank("qqqq")------false

3.isNotEmpty和isNotBlank

isNotEmpty("str")==true 就是 isEmpty("str")==false的时候
相对应的isNotBlank("str")==true 就是 isBlank("str")==false的时候

1、空格参数

isEmpty没有忽略空格参数,是以是否为空和是否存在为判断依据。而isBlank忽略了空格参数。

2、层次

isBlank 是在isEmpty的基础上进行了为空(字符串都为空格、制表符、tab 的情况)的判断。因此isBlank层次更高。

3、使用频率

isBlank的使用频率更高,而isEmpty的使用频率更高。

4.源代码


isEmpty()

public static boolean isEmpty(String str) {
        return str == null || str.length() == 0;
}

isBlank()

public static boolean isBlank(String str) {
    int strLen;
    if (str != null && (strLen = str.length()) != 0) {
        for(int i = 0; i < strLen; ++i) {// 判断字符是否为空格、制表符、tab
            if (!Character.isWhitespace(str.charAt(i))) {
                return false;
            }
        }
        return true;
    } else {
        return true;
    }
}

5. 示例


isEmpty判断某字段字符串是否为空,为空的标准是str==null或者str.length()==0

StringUntils.isEmpty(null)=true

StringUntils.isEmpty("")=true

StringUntils.isEmpty(" ")=false

StringUntils.isEmpty("demo")=false

StringUntils.isEmpty(" demo ")=false

 

isBlank判断某字符串是否为空或长度为0或由空白符构成

StringUtils.isBlank(null)=true

StringUtils.isBlank("")=true

StringUtils.isBlank(" ")=true

StringUtils.isBlank("\t \n \f \r")=true //对于制表符、换行符、换页符合回车符

StringUtils.isBlank()//都识别为空白符

StringUtils.isBlank("\b")=false

StringUtils.isBlank("demo")=false

StringUtils.isBlank(" demo ")=false

 

 

 

  • 25
    点赞
  • 118
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

镰刀韭菜

看在我不断努力的份上,支持我吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值