StringBuffer和StringBuilder

zhegeMaw發表於2024-08-09

一、String類

String類是不可變類,即String物件被建立以後,包含在這個物件中的字元序列是不可改變的,直至這個物件被銷燬。

二、StringBuffer 和 StringBuilder 類

當對字串進行修改的時候,需要使用 StringBuffer 和 StringBuilder 類

2.1 StringBuilder

StringBuilder類代表可變字串物件。當一個StringBuffer被建立以後,透過StringBuffer提供的append()、insert()、reverse()、等方法可以改變這個字串物件的字元序列。一旦透過StringBuilder生成了最終想要的字串,就可以呼叫它的toString()方法將其轉換為一個String物件。

        StringBuilder sb = new StringBuilder("Hello");
        // 追加
        sb.append(" World");
        // 指定位置插入
        sb.insert(6, "Beautiful ");
        // 刪除子串
        sb.delete(6, 16);
        // 反轉
        sb.reverse();
        // 最後要轉換為字串
        String result = sb.toString();

2.2 StringBuffer

StringBuffer物件則代表字元序列可變的字串,實際上,StringBuffer和StringBuilder基本相似,兩個類的構造器和方法也基本相同。

2.3 對比

StringBuffer是執行緒安全的

StringBuilder則沒有實現執行緒安全功能,所以效能略高(一般不要求執行緒安全時建議使用StringBuilder

相關文章