Java StringBuilder ensureCapacity() 方法



Java StringBuilder ensureCapacity() 方法用於驗證 StringBuilder 物件的容量是否至少等於指定的最小值。如果當前容量小於引數值,則會分配一個具有更大容量的新內部陣列。新容量為以下兩者中較大者:

  • minimumCapacity 引數。

  • 舊容量的兩倍加 2。

如果 minimumCapacity 引數為非正數或負數,則此方法不執行任何操作。

ensureCapacity() 方法接受一個整數引數,該引數儲存最小容量值。在確保容量等於指定的最小值時,它不會丟擲異常。

語法

以下是 Java StringBuilder ensureCapacity() 方法的語法:

public void ensureCapacity(int minimumCapacity)

引數

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

返回值

此方法不返回值。

示例:增加 StringBuilder 的容量

如果當前容量大於引數值,ensureCapacity() 方法將分配一個具有更大容量的新內部陣列。

在下面的程式中,我們用值“Hello”例項化 StringBuilder。然後,使用 ensureCapacity() 方法,我們嘗試檢查容量是否等於最小容量。由於容量大於引數值,該方法將分配一個具有更大容量的新內部陣列。

public class Capacity {
   public static void main(String[] args) {
      //instantiate a StringBuilder
      StringBuilder sb = new StringBuilder("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

示例:增加 StringBuilder 的容量

如果當前容量小於引數值,ensureCapacity() 方法將生成新的容量,該容量為舊容量的兩倍加 2

在這個程式中,我們用值“Java”建立一個 StringBuilder 物件。使用 ensureCapacity() 方法,我們嘗試檢查新容量是否等於最小容量。由於當前容量小於引數值,該方法將生成新的容量,該容量為舊容量的兩倍加 2

public class Capacity {
   public static void main(String[] args) {
      //instantiate a StringBuilder
      StringBuilder sb = new StringBuilder("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

示例:使用無效輸入增加 StringBuilder 的容量

如果 minimumCapacity 引數為非正數,則此方法不執行任何操作,只返回舊容量。

在下面的程式中,我們用值“TutorialsPoint”例項化 StringBuilder。然後,使用 ensureCapacity() 方法,我們嘗試檢查新容量是否等於最小容量。由於最小容量值為負數,此方法不執行任何操作,只返回舊容量。

public class Capacity {
   public static void main(String[] args) {
      //instantiate a StringBuilder
      StringBuilder sb = new StringBuilder("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_stringbuilder.htm
廣告