Apache commons lang3包下的StringUtils工具类集成了很多日常开发中需要用的操作字符串的方法,其中判空是最为常用的。有isEmpty,isBlank,isNotEmpty,isNotBlank。StringUtils类在操作字符串时,即使操作的为null值也是安全的,不会报NullPointerException。这在日常的开发中可以省很多的逻辑判断。
isEmpy与isBlank的区别主要是:
isEmpy :
* 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;
}
isBlank:
* 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;
}
总结:isEmpty判空包括:null值,空串(""),不包括空白符。
isBlank判空包括:null值,空串(""),空白符。
StringUtils中还有其他很多的操作方法:转换,移除,替换,反转等。
本文详细解析了Apachecommonslang3包下StringUtils工具类的使用,重点对比了判空方法isEmpty与isBlank的区别,并介绍了其在处理null值时的安全特性。
&spm=1001.2101.3001.5002&articleId=94589088&d=1&t=3&u=cfe33b60026d46958227e2ae2de78dcb)
1597

被折叠的 条评论
为什么被折叠?



