在Java中更改StringBuffer对象的默认容量

为了更改StringBuffer对象的默认容量,我们使用了该ensureCapacity()方法。当当前容量小于传递的参数时,则会分配一个具有更大容量的新内部阵列。

新容量是minimumCapacity参数的较大值,是旧容量的两倍,再加上2。较大的容量。如果最小容量为非正数,则它将保持休眠状态并且不执行任何操作。

声明-java.lang.StringBuffer.ensureCapacity()方法声明如下-

public void ensureCapacity(int minimumCapacity)

让我们看看该ensureCapacity()方法的工作原理

示例

public class Example {
   public static void main(String[] args) {
      StringBuffer sb = new StringBuffer("Hello");
      System.out.println(sb);
      System.out.println("Original capacity : "+sb.capacity());
      sb.ensureCapacity(29); // the (twice of old capacity + 2) argument is greater
      System.out.println("New capacity : "+sb.capacity());
      System.out.println();
      StringBuffer sb1 = new StringBuffer("Hi");
      System.out.println(sb1);
      System.out.println("Original capacity : "+sb1.capacity());
      sb1.ensureCapacity(40); // the minimumCapacity argument is greater
      System.out.println("New capacity : "+sb1.capacity());
   }
}

输出结果

Hello
Original capacity : 21
New capacity : 44
Hi
Original capacity : 18
New capacity : 40