1. 程式人生 > >java-StringBuffer類和StringBuilder類

java-StringBuffer類和StringBuilder類

一.StringBuffer類和StringBuilder 類

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

和 String 類不同的是,StringBuffer 和 StringBuilder 類的物件能夠被多次的修改,並且不產生新的未使用物件。

StringBuilder 和 StringBuffer 之間的最大不同在於 StringBuilder 的方法不是執行緒安全的(不能同步訪問)。

二.StringBuffer類

 

序號 方法描述
1 public StringBuffer append(String s)
將指定的字串追加到此字元序列。
2 public StringBuffer reverse()
 將此字元序列用其反轉形式取代。
3 public delete(int start, int end)
移除此序列的子字串中的字元。
4 public insert(int offset, int i)
將 int 引數的字串表示形式插入此序列中。
5 replace(int start, int end, String str)
使用給定 String 中的字元替換此序列的子字串中的字元。

 

//建立一個字串緩衝區物件。用於儲存資料。
StringBuffer sb = new StringBuffer();
sb.append("haha"); //新增字串
sb.insert(2, "it");//在指定位置插入
sb.delete(1, 4);//刪除
sb.replace(1, 4, "cast");//替換指定範圍內的內容
String str = sb.toString();

注意:append、delete、insert、replace、reverse方法呼叫後,返回值都是當前物件自己,所以說,StringBuffer它可以改變字元序列的長度和內容。

三.物件的方法鏈式呼叫

 

呼叫一個方法後,返回一個物件的情況。然後使用返回的物件繼續呼叫方法

//建立一個字串緩衝區物件。用於儲存資料。
StringBuffer sb = new StringBuffer();
//新增資料。不斷的新增資料後,要對緩衝區的最後的資料進行操作,必須轉成字串才可以。
String str = sb.append(true).append("hehe").toString();

四.StringBuffer練習

//int[] arr = {34,12,89,68};將一個int[]中元素轉成字串  格式 [34,12,89,68]
public static String toString_2(int[] arr) {
        StringBuffer sb = new StringBuffer();        
        sb.append("[");
        for (int i = 0; i < arr.length; i++) {
            if(i!=arr.length-1){
                sb.append(arr[i]+",");
            }else{
                sb.append(arr[i]+"]");
            }
        }        
        return sb.toString();
    }