如何在Java中計算StringBuffer的容量?


java.lang包的String類表示一組字元。Java程式中的所有字串字面量,例如“abc”,都實現為此類的例項。String物件是不可變的,一旦建立String物件,就不能更改其值,如果嘗試這樣做,則不會更改值,而是建立一個具有所需值的新物件,並且引用會轉移到新建立的物件,留下之前的物件未被使用。

當需要對String進行大量修改時,使用StringBuffer(和StringBuilder)類。

與String不同,StringBuffer型別的物件可以反覆修改,而不會留下許多新的未使用的物件。它是一個執行緒安全的、可變的字元序列。

示例

 線上演示

public class StringBufferExample {
   public static void main(String[] args) {
      StringBuffer buffer = new StringBuffer();
      buffer.append("Hello ");
      buffer.append("how ");
      buffer.append("are ");
      buffer.append("you");
      System.out.println("Contents of the string buffer: "+buffer);
   }
}

輸出

Contents of the string buffer: Hello how are you

計算StringBuffer容量

StringBuffer的容量表示StringBuffer中的字元數量。

最初,每個StringBuffer物件都以16的固定初始容量建立。您也可以透過將所需的整數值作為引數傳遞來建立具有所需初始容量的StringBuffer物件。

StringBuffer sb = new StringBuffer(225);

向StringBuffer物件追加資料時,一旦超過初始容量,StringBuffer物件的容量就會增加。

StringBuffer類的名為capacity()的方法返回一個整數值,表示StringBuffer()的容量。使用此方法,您可以找到StringBuffer的容量。

示例

下面的Java程式演示瞭如何查詢StringBuffer物件的容量。

 線上演示

public class StringBufferCapacity {
   public static void main(String[] args) {
      StringBuffer buffer = new StringBuffer();
      System.out.println("Initial capacity: "+buffer.capacity());
      buffer.append("Hello ");
      buffer.append("how ");
      buffer.append("are ");
      buffer.append("you");
      System.out.println("Contents of the string buffer: "+buffer);
      System.out.println("Capacity after adding data: "+buffer.capacity());
   }
}

輸出

Initial capacity: 16
Contents of the string buffer: Hello how are you
Capacity after adding data: 34

更新於:2019年9月10日

891 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告