isEmpty 和 isBlank 的区别
前言
也许你两个都不知道,也许你除了isEmpty
/isNotEmpty
/isNotBlank
/isBlank
外,并不知道还有isAnyEmpty
/isNoneEmpty
/isAnyBlank
/isNoneBlank
的存在, 让我们一起来探索org.apache.commons.lang3.StringUtils;
这个工具类
isEmpty系列
StringUtils.isEmpty()
是否为空. 可以看到 " " 空格是会绕过这种空判断,因为是一个空格,并不是严格的空值,会导致isEmpty(" ")=false
java
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("Hanson") = false
StringUtils.isEmpty(" Hanson ") = false
源码:
java
public static boolean isEmpty(CharSequence cs) {
return cs == null || cs.length() == 0;
}
StringUtils.isNotEmpty()
相当于不为空 , = !isEmpty()
java
public static boolean isNotEmpty(final CharSequence cs) {
return !isEmpty(cs);
}
StringUtils.isAnyEmpty()
是否有一个为空,只有一个为空,就为true.
java
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
源码:
java
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
java
public static boolean isNoneEmpty(CharSequence... css) {
return !isAnyEmpty(css);
}
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
javascript
// An highlighted block
var foo = 'bar';
isBank系列
StringUtils.isBlank()
是否为真空值(空格或者空值)
java
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("hanson") = false
StringUtils.isBlank(" hanson ") = false
源码:
java
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();
java
public static boolean isNotBlank(CharSequence cs) {
return !isBlank(cs);
}
StringUtils.isAnyBlank()
是否包含任何真空值(包含空格或空值)
java
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
源码:
java
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()
是否全部都不包含空值或空格
java
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
源码:
java
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