StringBuffer容量如何工作?

时间:2017-07-05 05:21:35

标签: java string stringbuffer

我的问题是为什么在插入12个字母后,容量变化为34?为什么它仍然是16到11个字母?

容量概念如何在这里发挥作用?

StringBuffer sb=new StringBuffer();  
System.out.println(sb.capacity());//default 16  
sb.append("Hello");  
System.out.println(sb.capacity());//now 16  
sb.append("123456789ab");  
System.out.println(sb.capacity());//REMAINS 16
sb.append("123456789abc");
System.out.println(sb.capacity()); // NOW (16*2)+2=34 i.e (oldcapacity*2)+2

0 个答案:

没有答案