Java 中 StringBuffer 和 StringBuilder 的區別
StringBuffer 和 StringBuilder 都是可變類,可用於對字串物件執行操作,例如字串反轉、字串連線等。我們可以修改字串,而無需建立字串的新物件。
StringBuffer 是執行緒安全的,而 StringBuilder 不是執行緒安全的。因此,它比 StringBuffer 快。此外,字串連線 + 運算子在內部使用 StringBuffer 或 StringBuilder 類。以下是區別。
| 序號 | 關鍵點 | StringBuffer | StringBuilder |
|---|---|---|---|
| 1 | 基礎 | StringBuffer 是隨著 Java 的初始版本引入的 | 它是在 Java 5 中引入的 |
| 2 | 同步 | 它是同步的 | 它不是同步的 |
| 3 | 效能 | 它是執行緒安全的。因此,多個執行緒無法同時訪問它,因此速度較慢。 | 它不是執行緒安全的,因此比 StringBuffer 快。 |
| 4 | 可變性 | 它是可變的。我們可以修改字串而無需建立物件。 | 它也是可變的 |
| 5 | 儲存 | 堆 | 堆 |
StringBuilder 示例
public class StringBuilderExample{
public static void main(String[] args){
StringBuilder builder=new StringBuilder("Hi");
builder.append("Java 8");
System.out.println("StringBuilderExample" +builder);
}
}
輸出
StringBuilderExampleHiJava 8
StringBuffer 示例
public class StringBufferExample{
public static void main(String[] args){
StringBuffer buffer=new StringBuffer("Hi");
buffer.append("Java 8");
System.out.println("StringBufferExample" +buffer);
}
}
輸出
StringBufferExampleHiJava 8
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP