Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路程式設計

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 其他

Java API 和框架

Java 類參考

Java 有用資源

StringBuffer 和 StringBuilder 類



當需要對字串進行大量修改時,可以使用StringBufferStringBuilder 類。

與字串不同,StringBuffer 和 StringBuilder 物件可以反覆修改,而不會留下許多未使用的物件。

StringBuilder 類是在 Java 5 中引入的,StringBuffer 和 StringBuilder 之間的主要區別在於 StringBuilder 的方法不是執行緒安全的(未同步)。

建議儘可能使用StringBuilder,因為它比 StringBuffer 快。但是,如果需要執行緒安全,最好的選擇是 StringBuffer 物件。

示例

public class Test {

   public static void main(String args[]) {
      StringBuffer sBuffer = new StringBuffer("test");
      sBuffer.append(" String Buffer");
      System.out.println(sBuffer);  
   }
}

這將產生以下結果:

輸出

test String Buffer

StringBuffer 方法

以下是 StringBuffer 類支援的重要方法列表:

序號 方法和描述
1 public StringBuffer append(String s)

更新呼叫該方法的物件的值。該方法接受布林值、字元、整數、長整數、字串等。

2 public StringBuffer reverse()

此方法反轉呼叫該方法的 StringBuffer 物件的值。

3 public delete(int start, int end)

刪除從起始索引到結束索引的字串。

4 public insert(int offset, int i)

此方法在由偏移量指定的位置插入字串s

5 replace(int start, int end, String str)

此方法將此 StringBuffer 的子字串中的字元替換為指定字串中的字元。

以下是其他方法(除 set 方法外),它們與 String 類非常相似:

序號 方法和描述
1

int capacity()

返回字串緩衝區的當前容量。

2

char charAt(int index)

返回字串緩衝區當前表示的序列中由索引引數指示的指定字元。

3

void ensureCapacity(int minimumCapacity)

確保緩衝區的容量至少等於指定的最小值。

4

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

將字元從此字串緩衝區複製到目標字元陣列 dst。

5

int indexOf(String str)

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

6

int indexOf(String str, int fromIndex)

返回在此字串中指定子字串的第一次出現的索引,從指定的索引開始。

7

int lastIndexOf(String str)

返回在此字串中指定子字串的最右邊出現的索引。

8

int lastIndexOf(String str, int fromIndex)

返回在此字串中指定子字串的最後一次出現的索引。

9

int length()

返回此字串緩衝區的長度(字元數)。

10

void setCharAt(int index, char ch)

將此字串緩衝區中指定索引處的字元設定為 ch。

11

void setLength(int newLength)

設定此字串緩衝區的長度。

12

CharSequence subSequence(int start, int end)

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

13

String substring(int start)

返回一個新的字串,其中包含當前包含在此 StringBuffer 中的字元的子序列。子字串從指定的索引開始,一直延伸到 StringBuffer 的末尾。

14

String substring(int start, int end)

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

15

String toString()

轉換為表示此字串緩衝區中資料的字串。

java_strings.htm
廣告