为什么下面的代码会产生一个不错的 ClassCastException:
public static void main(String []args){
StringBuilder s1 = new StringBuilder("quaqua");
StringBuilder s12= (StringBuilder)s1.subSequence(0,3);
System.out.println(s12);
}
而以下代码(用 String 替换 StringBuilder):
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 起作用。
提前致谢。