【发布时间】:2016-10-22 10:32:27
【问题描述】:
public static void main(String args[]){
StringBuilder sb=new StringBuilder();
System.out.println(sb.capacity());
sb.append("abcabcabcabcabcabcab");
System.out.println(sb.length());
System.out.println(sb.capacity());
System.out.println("-----");
sb.append("abcabcabcabcabcabcab");
System.out.println(sb.length());
System.out.println(sb.capacity());
System.out.println("-----");
sb.trimToSize();
System.out.println(sb.capacity());
System.out.println(sb.length());
}
o/p 是
16
20
34
-----
40
70
-----
40
40
我的问题是,在第二行,容量应该是 36(20+16)。为什么显示为 34。
【问题讨论】:
-
你的标题和标签是 StringBuffer。您的代码显示 StringBuilder。是哪个?
-
相关:(如果您确实是指 StringBuffer)stackoverflow.com/questions/8011574/…
标签: java stringbuffer capacity