isBlank()函数和isEmpty()函数的区别,实际工作案例

  • Post author:
  • Post category:其他


最近代码中用到了这两个函数,其实自己也有点不太清楚,那就一起来看看吧。

实际工作中,我们需要对字符串进行一些校验,比如:是否为 null,是否为空,是否去掉空格、换行符、制表符等也不为空。

一、

1.两个都是判断函数。判断函数,判断的就是是否为空。

2.isBlank(String str)和isEmpty(String str)都是apache 的 commons jar 包中的StringUtils下的两个方法。

3.常说的字符串为空,其实就是一个没有字符的空数组。

4.比如:String a = “” , a 就可以称为是一个空字符串.

二、


1.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;
    }
  }

三、区别

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

2.isBlank 是在 isEmpty 的基础上进行了为空(字符串都为空格、制表符、tab 的情况)的判断。(一般更为常用)

3.如果允许包含空格,则使用isEmpty判空。



版权声明:本文为weixin_44912627原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。