isEmpty 和 isBlank 的区别
- 前言
- isEmpty系列
- StringUtils.isEmpty()
- StringUtils.isNotEmpty()
- StringUtils.isAnyEmpty()
- StringUtils.isNoneEmpty()
- 如何插入一段漂亮的代码片
- isBank系列
- StringUtils.isBlank()
- StringUtils.isNotBlank()
- StringUtils.isAnyBlank()
- StringUtils.isNoneBlank()
- StringUtils的其他方法
前言
也许你两个都不知道,也许你除了isEmpty
/isNotEmpty
/isNotBlank
/isBlank
外,并不知道还有isAnyEmpty
/isNoneEmpty
/isAnyBlank
/isNoneBlank
的存在, 让我们一起来探索org.apache.commons.lang3.StringUtils;
这个工具类
isEmpty系列
StringUtils.isEmpty()
是否为空. 可以看到 " " 空格是会绕过这种空判断,因为是一个空格,并不是严格的空值,会导致isEmpty(" ")=false
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("Hanson") = false
StringUtils.isEmpty(" Hanson ") = false
源码:
public static boolean isEmpty(CharSequence cs) {return cs == null || cs.length() == 0;
}
StringUtils.isNotEmpty()
相当于不为空 , = !isEmpty()
public static boolean isNotEmpty(final CharSequence cs) {return !isEmpty(cs);
}
StringUtils.isAnyEmpty()
是否有一个为空,只有一个为空,就为true.
StringUtils.isAnyEmpty(null) = true
StringUtils.isAnyEmpty(null, "Hanson") = true
StringUtils.isAnyEmpty("", "Hanson") = true
StringUtils.isAnyEmpty("Hanson", "") = true
StringUtils.isAnyEmpty(" Hanson ", null) = true
StringUtils.isAnyEmpty(" ", "Hanson") = false
StringUtils.isAnyEmpty("Hanson", "Huang") = false
源码:
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(css)
, 必须所有的值都不为空才返回true
public static boolean isNoneEmpty(CharSequence... css) {return !isAnyEmpty(css);
}
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
isBank系列
StringUtils.isBlank()
是否为真空值(空格或者空值)
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("hanson") = false
StringUtils.isBlank(" hanson ") = false
源码:
public static boolean isBlank(CharSequence cs) {int strLen = length(cs);if (strLen == 0) {return true;} else {for(int i = 0; i < strLen; ++i) {if (!Character.isWhitespace(cs.charAt(i))) {return false;}}return true;}
}
StringUtils.isNotBlank()
是否真的不为空,不是空格或者空值 ,相当于!isBlank();
public static boolean isNotBlank(CharSequence cs) {return !isBlank(cs);
}
StringUtils.isAnyBlank()
是否包含任何真空值(包含空格或空值)
StringUtils.isAnyBlank(null) = true
StringUtils.isAnyBlank(null, "hanson") = true
StringUtils.isAnyBlank(null, null) = true
StringUtils.isAnyBlank("", "hanson") = true
StringUtils.isAnyBlank("hanson", "") = true
StringUtils.isAnyBlank(" hanson ", null) = true
StringUtils.isAnyBlank(" ", "hanson") = true
StringUtils.isAnyBlank("hanson", "huang") = false
源码:
public static boolean isAnyBlank(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 (isBlank(cs)) {return true;}}return false;}
}
StringUtils.isNoneBlank()
是否全部都不包含空值或空格
StringUtils.isNoneBlank(null) = false
StringUtils.isNoneBlank(null, "hanson") = false
StringUtils.isNoneBlank(null, null) = false
StringUtils.isNoneBlank("", "hanson") = false
StringUtils.isNoneBlank("hanson", "") = false
StringUtils.isNoneBlank(" hanson ", null) = false
StringUtils.isNoneBlank(" ", "hanson") = false
StringUtils.isNoneBlank("hanson", "huang") = true
源码:
public static boolean isNoneBlank(final CharSequence... css) {return !isAnyBlank(css);
}
StringUtils的其他方法
可以参考官方的文档,里面有详细的描述,有些方法还是很好用的.
https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html