StringUtils工具类常用方法

Home / Code / Body Text
  1. 判断字符串空值

    作用(判断逻辑)
    返回值
    方法
    判断字符串是否为空白(null、空字符串 "" 或纯空格 " "booleanStringUtils.isBlank(String str)
    判断字符串是否为空(仅 null 或空字符串 "",纯空格 " " 视为非空)booleanStringUtils.isEmpty(String str)
    判断字符串是否为非空白(不为 null、非空字符串且非纯空格)booleanStringUtils.isNotBlank(String str)
    判断字符串是否为非空(不为 null 且非空字符串,纯空格 " " 视为非空)booleanStringUtils.isNotEmpty(String str)
    判断多个字符串中是否任意一个为空白(只要有一个满足 isBlank,则返回 truebooleanStringUtils.isAnyBlank(CharSequence… css)
    判断多个字符串中是否任意一个为空(只要有一个满足 isEmpty,则返回 truebooleanStringUtils.isAnyEmpty(CharSequence… css)
    判断多个字符串是否全部为非空白(所有都满足 isNotBlank,才返回 true)booleanStringUtils.isNoneBlank(CharSequence… css)
    判断多个字符串是否全部为非空(所有都满足 isNotEmpty,才返回 truebooleanStringUtils.isNoneEmpty(CharSequence… css)

区别说明:
 1. isBlankisEmpty
  - isBlank 更严格:会把纯空格(" ")视为空白(返回 true);
  - isEmpty 仅判断 null 或空字符串(""),纯空格会返回 false
 2. 批量判断(isAnyXXXisNoneXXX
  - isAnyBlank:“有一个空白就返回 true”(用于校验 “必填字段不能有空白”);
  - isNoneBlank:“所有都非空白才返回 true”(与 !isAnyBlank 等价);
  - isAnyEmptyisNoneEmpty 逻辑类似,但基于 isEmpty 判断。

演示

StringUtils.isBlank(""); // true
StringUtils.isBlank(" "); // true
StringUtils.isBlank("     "); // true
StringUtils.isBlank("\t"); // true
StringUtils.isBlank("\r"); // true
StringUtils.isBlank("\n"); // true
StringUtils.isBlank(null); // true

StringUtils.isEmpty(""); // true
StringUtils.isEmpty(" "); // false
StringUtils.isEmpty("     "); // false
StringUtils.isEmpty("\t"); // false
StringUtils.isEmpty("\r"); // false
StringUtils.isEmpty("\n"); // false
StringUtils.isEmpty(null); // true

StringUtils.isWhitespace(""); // true
StringUtils.isWhitespace(" "); // true
StringUtils.isWhitespace("    "); // true
StringUtils.isWhitespace("\t"); // true
StringUtils.isWhitespace("\r"); // true
StringUtils.isWhitespace("\n"); // true
StringUtils.isWhitespace(null); // false

从上面的结果可以看出

  • blank:代表的是空串("")、空白符(空格""" ",制表符"\t",回车符"\r""\n"等)以及null值;
  • empty:代表的是空串("")和null值,不包含空白符;
  • whitespace:包含空串("")和空白符,不包含null值;

isAnyBlank,isNoneBlank,isAnyEmpty,isNoneEmpty四个方法是用于判断多个字符串是否为空;
  对于isAnyBlank和isAnyEmpty来说,只要有一个字符串为空,结果即为true;
对于isNoneBlank和isNoneEmpty,只要存在一个字符串为空,结果即为false,具体参见下面的例子

StringUtils.isAnyBlank("titanic", "jack", "rose")); // false
StringUtils.isAnyBlank("", "jack", "rose")); // true
StringUtils.isAnyBlank(" ", "jack", "rose")); // true
StringUtils.isAnyBlank(null, "jack", "rose")); // true

StringUtils.isAnyEmpty("titanic", "jack", "rose")); // false
StringUtils.isAnyEmpty("", "jack", "rose")); // true
StringUtils.isAnyEmpty(" ", "jack", "rose")); // false
StringUtils.isAnyEmpty(null, "jack", "rose")); // true

StringUtils.isNoneBlank("titanic", "jack", "rose")); // true
StringUtils.isNoneBlank("", "jack", "rose")); // false
StringUtils.isNoneBlank(" ", "jack", "rose")); // false
StringUtils.isNoneBlank(null, "jack", "rose")); // false

StringUtils.isNoneEmpty("titanic", "jack", "rose")); // true
StringUtils.isNoneEmpty("", "jack", "rose")); // false
StringUtils.isNoneEmpty(" ", "jack", "rose")); // true
StringUtils.isNoneEmpty(null, "jack", "rose")); // false
Reward
Comments Section
头像
文章目录