次のコードで適切な ClassCastException が生成される理由:
public static void main(String []args){
StringBuilder s1 = new StringBuilder("quaqua");
StringBuilder s12= (StringBuilder)s1.subSequence(0,3);
System.out.println(s12);
}
一方、次のコード ( StringBuilder を String に置き換えます):
public static void main(String []args){
String s1 = new String("quaqua");
String s12= (String)s1.subSequence(0,3);
System.out.println(s12);
}
正常に動作します?;
メソッドがあることは理解していますが、substring(int begin, int end);
StringBuilder (CharSequence を実装する) を使用したキャストが機能しないのに、String を使用したキャストが機能しない理由に興味があります。
前もって感謝します。