1
String
〜CharSequence
を明示的にキャストする目的は何ですか? String
自体はCharSequence
インターフェイスを実装しています。文字列を文字列にキャストする
Spring 4.xはJava 6+をサポートし、CharSequence
は1.4以降に存在します。春のフレームワークから
コードスニペット:それは無限に再帰しないように
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;
}
無限に繰り返されないようにします。このメソッドは実際には削除できます。おそらく後方互換性のためだけにあるでしょう。 – EJP
トリッキーなメソッドオーバーロードの種類... –
@EJP、ああ...私たちは 'CharSequence'パラメータに特有のメソッドを実行したいコンパイラを指しています。ありがとうございました。 –