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 estcapacité StringBuffer()
16
20
34
-----
40
70
-----
40
40
Ma question est que, dans la deuxième ligne, la capacité doit être 36 (20 + 16). pourquoi est-il montre que 34.
Votre titre et vos tags disent * StringBuffer *. Votre code indique * StringBuilder *. Lequel est-ce? –
Connexe: (si vous avez voulu dire StringBuffer) http://stackoverflow.com/questions/8011574/what-is-the-capacity-of-a-stringbuffer?rq=1 – Thilo