明确地将String
投射到CharSequence
的目的是什么?
String
本身实现了CharSequence
接口。
Spring 4.x支持Java 6+,CharSequence
自1.4以来就存在。
Spring Framework的代码片段:
public static boolean hasText(String str) {
// Why do we cast str to CharSequence?
return hasText((CharSequence) str);
}
public static boolean hasText(CharSequence str) {
if (!hasLength(str)) {
return false;
}
int strLen = str.length();
for (int i = 0; i < strLen; i++) {
if (!Character.isWhitespace(str.charAt(i))) {
return true;
}
}
return false;
}
答案 0 :(得分:4)
这样它就无法无限地进行。实际上可以删除该方法。它可能只是为了向后兼容。