java-StringBuffer類和StringBuilder類
阿新 • • 發佈:2019-01-04
一.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(); }