StringUtils工具类isEmpty()系列与isBlank()系列
该工具类位于:org.apache.commons.lang3.StringUtils
官方文档:
https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html
文章目录
一、isEmpty()系列
StringUtils.isEmpty()
说明: 为null或空字符返回true。其他返回false。
/**
* StringUtils.isEmpty(null) = true
* StringUtils.isEmpty("") = true
* StringUtils.isEmpty(" ") = false
* StringUtils.isEmpty(“bob”) = false
* StringUtils.isEmpty(" bob ") = false
*/
public static boolean isEmpty(final CharSequence cs) {
return cs == null || cs.length() == 0;
}
StringUtils.isNotEmpty()
说明: 源码中,在isEmpty()前加了个"非",= !isEmpty()
即:null或空字符返回false。其余返回true
public static boolean isNotEmpty(final CharSequence cs) {
return !isEmpty(cs);
}
StringUtils.isAnyEmpty()
说明: 判断参数中是否存在(一个或一个以上)为null或者空字符""
场景: 用于某种场景下请求参数是否缺失校验
/**
StringUtils.isAnyEmpty(null) = true
StringUtils.isAnyEmpty(null, “foo”) = true
StringUtils.isAnyEmpty("", “bar”) = true
StringUtils.isAnyEmpty(“bob”, “”) = true
StringUtils.isAnyEmpty(" bob ", null) = true
StringUtils.isAnyEmpty(" ", “bar”) = false
StringUtils.isAnyEmpty(“foo”, “bar”) = false
StringUtils.isAnyEmpty(null,"bar", null)=true
StringUtils.isAnyEmpty(new String[]{}) = false
StringUtils.isAnyEmpty(new String[]{""}) = true
*/
public static boolean isAnyEmpty(CharSequence... css) {
if (ArrayUtils.isEmpty(css)) {
return false;
} else {
CharSequence[] var1 = css;
int var2 = css.length;
for(int var3 = 0; var3 < var2; ++var3) {
CharSequence cs = var1[var3];
if (isEmpty(cs)) {
return true;
}
}
return false;
}
}
StringUtils.isNoneEmpty()
!isAnyEmpty(),必须所有的值都不为null或空字符""才返回true
public static boolean isNoneEmpty(final CharSequence... css) {{
return !isAnyEmpty(css);
}
二、isBlank()系列
StringUtils.isBlank()
说明: 判断参数为null、空字符、空格返回true,否者返回false
/**
* StringUtils.isBlank(null) = true
* StringUtils.isBlank("") = true
* StringUtils.isBlank(" ") = true
* StringUtils.isBlank(“bob”) = false
* StringUtils.isBlank(" bob ") = false
*/
//源码
public static boolean isBlank(final CharSequence cs) {
int strLen;
if (cs == null || (strLen = cs.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if (Character.isWhitespace(cs.charAt(i)) == false) {
return false;
}
}
return true;
}
isBlank()与 isEmpty()区别
isEmpty()方法: StringUtils.isEmpty(" “) = false
isBlank()方法: StringUtils.isBlank(” ") = true
isEmpty()方法不会忽略空格,有空格则返回false
isBlank()方法会忽略空格,有空格依然返回true
StringUtils.isNotEmpty()
说明: 与isEmpty()相反,!isBlank();
public static boolean isNotBlank(final CharSequence cs) {
return !isBlank(cs);
}
StringUtils.isAnyBlank()
说明: 存在任意null、空字符、空格字符等则返回true
/**
* StringUtils.isAnyBlank(null) = true
* StringUtils.isAnyBlank(null, “foo”) = true
* StringUtils.isAnyBlank(null, null) = true
* StringUtils.isAnyBlank("", “bar”) = true
* StringUtils.isAnyBlank(“bob”, “”) = true
* StringUtils.isAnyBlank(" bob ", null) = true
* StringUtils.isAnyBlank(" ", “bar”) = true
* StringUtils.isAnyBlank(“foo”, “bar”) = false
*/
//源码
public static boolean isAnyBlank(final CharSequence... css) {
if (ArrayUtils.isEmpty(css)) {
return true;
}
for (final CharSequence cs : css){
if (isBlank(cs)) {
return true;
}
}
return false;
}
StringUtils.isNoneBlank()
说明: 是否全部不包含任意null、空字符、空格字符
/**
StringUtils.isNoneBlank(null) = false
StringUtils.isNoneBlank(null, “foo”) = false
StringUtils.isNoneBlank(null, null) = false
StringUtils.isNoneBlank("", “bar”) = false
StringUtils.isNoneBlank(“bob”, “”) = false
StringUtils.isNoneBlank(" bob ", null) = false
StringUtils.isNoneBlank(" ", “bar”) = false
StringUtils.isNoneBlank(“foo”, “bar”) = true
**/
//源码
public static boolean isNoneBlank(final CharSequence... css) {
return !isAnyBlank(css);
}