【发布时间】:2013-07-08 08:25:26
【问题描述】:
为什么下面的代码会产生一个不错的 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 起作用。
提前致谢。
【问题讨论】:
标签: java string stringbuilder charsequence