Java StringBuilder 類



StringBuilder 類簡介

Java StringBuilder 類是字元的可變序列。它提供與 StringBuffer 相容的 API,但不保證同步。StringBuilder 類可以用來替換 StringBuffer,在使用單執行緒操作時。由於 StringBuffer 具有同步的開銷,因此 StringBuilder 作為 StringBuffer 的更快替代方案。在多執行緒環境中,如果需要同步字串操作,則推薦使用 StringBuffer,否則使用 StringBuilder 以提高效能。

StringBuilder 類宣告

以下是 java.lang.StringBuilder 類的宣告:

public final class StringBuilder
   extends Object
      implements Serializable, CharSequence

StringBuilder 類建構函式

以下是 StringBuilder 類的建構函式列表。

序號 建構函式及描述
1

StringBuilder()

此建構函式建立一個字串生成器,其中不包含任何字元,並且初始容量為 16 個字元。

2

StringBuilder(CharSequence seq)

此建構函式建立一個字串生成器,其中包含與指定 CharSequence 相同的字元。

3

StringBuilder(int capacity)

此建構函式建立一個字串生成器,其中不包含任何字元,並且初始容量由 capacity 引數指定。

4

StringBuilder(String str)

此建構函式建立一個字串生成器,並將其初始化為指定字串的內容。

StringBuilder 類方法

以下是 StringBuilder 類的函式列表。每個函式都有多個示例來演示函式的功能。

序號 函式及描述
1 StringBuilder append()

此函式將給定的字串引數追加到序列中。

2 StringBuilder appendCodePoint(int codePoint)

此函式將 codePoint 引數的字串表示形式追加到此序列中。

3 int capacity()

此函式返回當前容量。

4 char charAt(int index)

此函式返回此序列中指定索引處的 char 值。

5 int codePointAt(int index)

此函式返回指定索引處的字元(Unicode 程式碼點)。

6 int codePointBefore(int index)

此函式返回指定索引之前的字元(Unicode 程式碼點)。

7 int codePointCount(int beginIndex, int endIndex)

此函式返回此序列指定文字範圍內的 Unicode 程式碼點數。

8 StringBuilder delete(int start, int end)

此函式刪除此序列子字串中的字元。

9 StringBuilder deleteCharAt(int index)

此函式刪除此序列中指定位置處的字元。

10 void ensureCapacity(int minimumCapacity)

此函式確保容量至少等於指定的最小值。

11 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

字元從此序列複製到目標字元陣列 dst 中。

12 int indexOf(String str)

此函式返回此字串中指定子字串第一次出現的索引。

13 StringBuilder insert()

此函式將給定引數的字串表示形式插入到此序列中。

14 int lastIndexOf(String str)

此函式返回此字串中指定子字串最右側出現的索引。

15 int length()

此函式返回長度(字元數)。

16 int offsetByCodePoints(int index, int codePointOffset)

此函式返回此序列中從給定索引偏移 codePointOffset 個程式碼點的索引。

17 StringBuilder replace(int start, int end, String str)

此函式用指定字串中的字元替換此序列子字串中的字元。

18 StringBuilder reverse()

此函式導致此字元序列被序列的反轉替換。

19 void setCharAt(int index, char ch)

將指定索引處的字元設定為 ch。

20 void setLength(int newLength)

此函式設定字元序列的長度。

21 CharSequence subSequence(int start, int end)

此函式返回一個新的字元序列,它是此序列的子序列。

22 String substring(int start)

此函式返回一個新的字串,其中包含當前包含在此字元序列中的字元的子序列。

23 String toString()

此函式返回一個表示此序列中資料的字串。

24 void trimToSize()

此函式嘗試減少用於字元序列的儲存空間。

繼承的方法

此類繼承自以下類的方法:

  • java.lang.Object
  • java.lang.CharSequence

示例:將布林值追加到 StringBuilder

以下示例演示了 Java StringBuilder append(Boolean b) 函式的使用。這裡,我們使用字串名稱“tuts”例項化了一個 StringBuilder 物件“buff”。然後,我們使用“buff”物件和布林引數“true”呼叫 append() 函式。返回值將是追加的字串名稱“tuts true”。類似地,我們使用字串名稱“abcd”和布林引數“false”演示了另一個案例。

package com.tutorialspoint;

public class StringBuilderDemo {

   public static void main(String[] args) {

      StringBuilder stringBuilder = new StringBuilder("tuts ");
      System.out.println("builder = " + stringBuilder);

      // appends the boolean argument as string to the string stringBuilder
      stringBuilder.append(true);
      
      // print the string stringBuilder after appending
      System.out.println("After append = " + stringBuilder);

      stringBuilder = new StringBuilder("abcd ");
      System.out.println("stringBuilder = " + stringBuilder);
      
      // appends the boolean argument as string to the string stringBuilder    
      stringBuilder.append(false);
      
      // print the string stringBuilder after appending
      System.out.println("After append = " + stringBuilder);
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

stringBuilder = tuts
After append = tuts true
stringBuilder = abcd
After append = abcd false
廣告