StringUlils类空校验源码

空校验(StringUtils.isBlank(String str) 、 StringUtils.isEmpty(String str)、StringUtils.isWhitespace(String str) )

StringUtils.isBlank(String str) 方法根据null对象、字符串长度、和空格字符串(" “)对参数字符串进行空校验,如果字符串对象为null对象、字符串长度为0、空格字符串(” ")则返回结果为true,反之则返回false。方法源码如下:

    public static boolean isBlank(String str) {
        int strLen;
        if (str == null || (strLen = str.length()) == 0) {
            return true;
        }
        for (int i = 0; i < strLen; i++) {
            if ((Character.isWhitespace(str.charAt(i)) == false)) {
                return false;
            }
        }
        return true;
    }

StringUtils.isEmpty(String str) 方法根据null对象、字符串长度对参数字符串进行空校验, 如果字符串为null对象、字符串长度为0则返回true,反之返回false。方法源码如下:

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

StringUtils.isWhitespace(String str)方法是判断字符串是否为空格字符串(" “)。 如果是空格字符串(” "),则返回true,反之返回false

三者区别在于:

  • 当你只校验字符串是否为null和""对象时,三者无区别。
  • 但是当你校验的对象为" "(空格字符串)时。isBlank方法和isWhitespace方法结果为 true, 而isEmpty方法结果为 false
    测试结果如下:
    在这里插入图片描述

非空校验(StringUtils.isNotBlank(String str) 、StringUtils.isNotEmpty(String str))

StringUtils.isNotBlank(String str)方法是 StringUtils.isBlank(String str)方法的取反。
StringUtils.isNotEmpty(String str)方法是StringUtils.isEmpty(String str)方法的取反。

没有StringUtils.isNotWhitespace(String str)方法!!!

StringUtils.isNotBlank(String str)方法源码如下:

public static boolean isNotBlank(String str) {
        return !StringUtils.isBlank(str);
    }

StringUtils.isNotEmpty(String str)方法源码如下:

public static boolean isNotEmpty(String str) {
        return !StringUtils.isEmpty(str);
    }
发布了9 篇原创文章 · 获赞 39 · 访问量 551

猜你喜欢

转载自blog.csdn.net/qq_36526036/article/details/83015264