问一问关于StringBuffer

laofuzhou 04-07-16

我StringBuffer往里面加到大概10000个字符以后,
StringBuffer.toString(),
StringBuffer.deleteCharAt(i),
方法都出错了,
不过好像
StringBuffer.length()还是对得,怎么回事,谢谢

SoftBug
2004-07-18 00:02

能否将具体的错误时的堆栈信息贴上来?

laofuzhou
2004-07-19 09:33

没有Exception抛出来,
但是StringBuffer.toString()显示结果不对,
我在append大量数据后,StringBuffer.toString()的结果的结尾部分是这样的:......245,
但是StringBuffer.deleteCharAt(StringBuffer.length()-1);之后,
再StringBuffer.toString()反而多出字符,结尾是这样的:
.....245,2

seaman0916
2004-07-19 13:32

没有问题呀!
你试试:
public class StringBufferTest {

public static void main(String[] args) {
StringBuffer test=new StringBuffer();
for(int i=0;i<1000;i++){
test.append("aaaaabbbbbaaaaabbbbb");
}
test.append("9999999");
System.out.println(test.toString());

}
}

你把结果打印出来之后复制一下,放到Word统计一下字符,2万多呢....

seaman0916
2004-07-19 13:33

public class StringBufferTest {

public static void main(String[] args) {
StringBuffer test=new StringBuffer();
for(int i=0;i<1000;i++){
test.append("aaaaabbbbbaaaaabbbbb");
}
test.append("9999999");
System.out.println(test.toString());
System.out.println("1111");
}
}

你试试,完全可以的!你把结果复制到word中,统计一下,20000多呢...

2Go 1 2 下一页