isEmpty方法和isBlank方法的区别
在写代码中,经常需要对字符串做一些校验。
比如字符串是否为空,是否为null,是否去掉空格,是否去掉换行符,是否去掉制表符等等;
我们可以用StringUtils类的isEmpty()和isBlank()来做判断,而这两个方法有什么区别呢,我们可以看看源码:
isEmpty()只有是否为空和是否存在作为依据。
public static boolean isEmpty(CharSequence cs) {
return cs == null || cs.length() == 0;
}
isBlank() 是在 isEmpty 的基础上进行了为空,字符串都为空格、制表符、tab 的情况的判断。
public static boolean isBlank(CharSequence cs) {
int strLen;
if (cs != null && (strLen = cs.length()) != 0) {
for(int i = 0; i < strLen; ++i) {
if (!Character.isWhitespace(cs.charAt(i))) {
return false;
}
}
return true;
} else {
return true;
}
}
实际应用中isBlank更为实用;
大家可以通过这样的例子去测试:
StringUtils.isEmpty("aaa") = false
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isBlank("aaa") = false
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
有帮助可以点个赞哦!!!