public class stringBufferLength{
public static void main(string [] args){
string strbuff=new stringbuffer(5);
strbuff.append("abcd");
System.out.println(strbuff.length());
System.out.println(strbuff.capacity());
System.out.println(strbuff.tostring()+"**");
strbuff.setLength(10);
System.out.println(strbuff.length());
System.out.println(strbuff.capacity());第11行
System.out.println(strbuff.tostring("**"));
strbuff.setLength(3);
System.out.println(strbuff.length());
system.out.println(strbuff.capacity());//第15行
system.out.println(strbuff.tostring());
}
}请各位高手指点,为什么在第11行输出的不是10,第15行输出而不是3呢?
而都是12
非常感谢。
public static void main(string [] args){
string strbuff=new stringbuffer(5);
strbuff.append("abcd");
System.out.println(strbuff.length());
System.out.println(strbuff.capacity());
System.out.println(strbuff.tostring()+"**");
strbuff.setLength(10);
System.out.println(strbuff.length());
System.out.println(strbuff.capacity());第11行
System.out.println(strbuff.tostring("**"));
strbuff.setLength(3);
System.out.println(strbuff.length());
system.out.println(strbuff.capacity());//第15行
system.out.println(strbuff.tostring());
}
}请各位高手指点,为什么在第11行输出的不是10,第15行输出而不是3呢?
而都是12
非常感谢。
这些在API中都有详细说明。
15行一个道理,你只是设置了里面字符串的长度,不是设置的strbuff的容量。
+1.多看看api和源码吧。。