本帖最后由 翁发达 于 2012-9-13 08:31 编辑
这个问题的关键点在于:
字符串一旦累加合并后为一个字符一个字符串成的整体,这个时候就不存在34为一个整体的说法,除非是字符串数组,
而且,就算不讲这个,char[] 里的可以存在34吗?其里面只能存在单引号引起来的单个字符!所以,34转成char[] 后不可能是一个整体
第二就是你的打印长度.
class Demo
{
public static void main(String[] args)
{
StringBuffer sb=new StringBuffer();
sb.append(34);
sb.append("abc");
char[] chs=new char[30];
sb.getChars(0,5,chs,1); ----所以,这里是把3,4,a,b,c从char[] 下标1开始,赋值过去了.
for(int x=0;x<sb.length();x++)
//---但是,注意,你这里打印的长度是sb.length();而不是chs.length,所以你打印的长度只有5个,且从下标0开始,所以最终结果是:空字符 3 4 a b 总共5个元素.
//c 在char[] 里,但没有打印出来
{
System.out.println(chs[x]);
}
}
}
|