Java StringBuffer ensureCapacity() 方法



Java StringBuffer ensureCapacity() 方法用于验证 StringBuffer 对象的容量是否至少等于指定的最小值。如果当前容量小于参数值,则会分配一个具有更大容量的新内部数组。新容量是以下两者中较大的一个:

  • minimumCapacity 参数。

  • 旧容量的两倍,加 2。

如果 minimumCapacity 参数为非正数或负数,则此方法不执行任何操作。

ensureCapacity() 方法接受一个整数参数,该参数保存最小容量值。在确保容量等于指定的最小值或不等于指定的最小值时,它不会抛出异常。

语法

以下是 Java StringBuffer ensureCapacity() 方法的语法:

public void ensureCapacity(int minimumCapacity)

参数

  • minimumCapacity − 这是所需的最小容量。

返回值

此方法不返回值。

示例:增加 StringBuffer 的容量

如果当前容量大于参数值,ensureCapacity() 方法将分配一个具有更大容量的新内部数组。

在下面的程序中,我们使用值“Hello”实例化 StringBuffer。然后,使用 ensureCapacity() 方法,我们尝试检查容量是否等于最小容量。由于容量大于参数值,因此该方法将分配一个具有更大容量的新内部数组。

public class Capacity {
   public static void main(String[] args) {
      //instantiate a StringBuffer
      StringBuffer sb = new StringBuffer("Hello");
      System.out.println("The string is: " + sb);
      //get the capacity of string
      System.out.println("The old capacity of string is: " + sb.capacity());
      //initialize the minimum capacity
      int minimumCapacity = 15;
      //using the ensureCapacity() method
      sb.ensureCapacity(minimumCapacity);
      System.out.println("The new capacity is: " + sb.capacity());
   }
}

输出

执行上述程序后,将产生以下结果:

The string is: Hello
The old capacity of string is: 21
The new capacity is: 21

示例:增加 StringBuffer 的容量

如果当前容量小于参数值,ensureCapacity() 方法将生成新的容量,该容量为旧容量的两倍,加 2

在这个程序中,我们创建一个值为“Java”的 StringBuffer 对象。使用 ensureCapacity() 方法,我们尝试检查新容量是否等于最小容量。由于当前容量小于参数值,因此该方法将生成新的容量,该容量为旧容量的两倍,加 2

public class Capacity {
   public static void main(String[] args) {
      //instantiate a StringBuffer
      StringBuffer sb = new StringBuffer("Hello");
      System.out.println("The string is: " + sb);
      //get the capacity of string
      System.out.println("The old capacity of string is: " + sb.capacity());
      //initialize the minimum capacity
      int minimumCapacity = 40;
      //using the ensureCapacity() method
      sb.ensureCapacity(minimumCapacity);
      System.out.println("The new capacity is: " + sb.capacity());
   }
}

输出

以下是上述程序的输出:

The string is: Hello
The old capacity of string is: 21
The new capacity is: 44

示例:使用无效输入增加 StringBuffer 的容量

如果 minimumCapacity 参数为非正数,则此方法不执行任何操作,只返回旧容量。

在下面的程序中,我们使用值“TutorialsPoint”实例化 StringBuffer。然后,使用 ensureCapacity() 方法,我们尝试检查新容量是否等于最小容量。由于最小容量值为负数,因此此方法不执行任何操作,只返回旧容量。

public class Capacity {
   public static void main(String[] args) {
      //instantiate a StringBuffer
      StringBuffer sb = new StringBuffer("TutorialsPoint");
      System.out.println("The string is: " + sb);
      //get the capacity of string
      System.out.println("The old capacity of string is: " + sb.capacity());
      //initialize the minimum capacity with 0
      int minimumCapacity = 0;
      //using the ensureCapacity() method
      sb.ensureCapacity(minimumCapacity);
      System.out.println("The new capacity is: " + sb.capacity());
   }
}

输出

上述程序产生以下结果:

The string is: TutorialsPoint
The old capacity of string is: 30
The new capacity is: 30
java_lang_stringbuffer.htm
广告