StringUtils.isBlank和StringUtils.isEmpty的区别
StringUtils.isEmpty(String str)
源码
public static boolean isEmpty(String str) {
return str == null || str.length() == 0;
}
所以,isEmpty的作用为:
判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0
- StringUtils.isEmpty(null) = true
- StringUtils.isEmpty("") = true
- StringUtils.isEmpty(" ") = false //注意在 StringUtils 中空格作非空处理
- StringUtils.isEmpty(" ") = false
StringUtils.isBlank(String str)
源码
可以看到,isBlank是对isEmpty的增强
public static boolean isBlank(String str) {
int strLen;
if (str == null || (strLen = str.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if ((Character.isWhitespace(str.charAt(i)) == false)) {
return false;
}
}
return true;
}
isWhiteSpace()指定字符是否含有空白字符,空白字符包括:空格,换行符,tab键。
所以,isBlank的作用为:
- StringUtils.isBlank(null) = true
- StringUtils.isBlank("") = true
- StringUtils.isBlank(" ") = true
- StringUtils.isBlank(" ") = true
- StringUtils.isBlank("\t \n \f \r") = true //对于制表符、换行符、换页符和回车也判为空
Comments | 0 条评论