StringUtils.isBlank
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))) {
return false;
}
}
return true;
}
StringUtils.isEmpty
public static boolean isEmpty(final CharSequence cs) {
return cs == null || cs.length() == 0;
}
对比源码可以发现,isBlank比isEmpty校验更严格一些,默认的一些空格或者转义字符都认为是空。
那么上述两个方法,在什么场景下使用呢?
如果对空校验仅限于“”和null,使用两者没有区别
如果对空校验除了""和null,还包含/t/n/r等校验,则适合用isBlank