java-StringBuffer類
1、StringBuffer的構造方法:
* public StringBuffer():無參構造方法
* public StringBuffer(int capacity):指定容量的字串緩衝區物件
* public StringBuffer(String str):指定字串內容的字串緩衝區物件
2、StringBuffer的方法:
* public int capacity():返回當前容量。 理論值
* public int length():返回長度(字元數)。 實際值
3、StringBuffer的新增功能
* public StringBuffer append(String str):
* public StringBuffer insert(int offset,String str):在指定位置把任意型別的資料插入到字串緩衝區裡面,並返回字串緩衝區本身
* StringBuffer是字串緩衝區,當new的時候是在堆記憶體建立了一個物件,底層是一個長度為16的字元陣列。
* 當呼叫新增的方法時,不會再重新建立物件,它在不斷向原緩衝區新增字元。
4、StringBuffer的刪除功能
* public StringBuffer deleteCharAt(int index):刪除指定位置的字元,並返回本身
* public StringBuffer delete(int start,int end):
5、StringBuffer的替換功能
* public StringBuffer replace(int start,int end,String str):從start開始到end用str替換
6、StringBuffer的反轉功能
* public StringBuffer reverse():字串反轉
7、StringBuffer的擷取功能
* public String substring(int start):從指定位置擷取到末尾
* public String substring(int start,int end):
* 注意事項
* 注意:返回值型別不再是StringBuffer本身
8、String -- StringBuffer
* a:通過構造方法
* b:通過append()方法
9、StringBuffer -- String
* a:通過構造方法
* b:通過toString()方法
* c:通過subString(0,length);
8、9例:
1 public class Demo { 2 3 public static void main(String[] args) { 4 //demo1(); 5 StringBuffer sb = new StringBuffer("heima"); 6 7 String s1 = new String(sb); //通過構造將StringBuffer轉換為String 8 System.out.println(s1); 9 10 String s2 = sb.toString(); //通過toString方法將StringBuffer轉換為String 11 System.out.println(s2); 12 13 String s3 = sb.substring(0, sb.length()); //通過擷取子字串將StringBuffer轉換為String 14 System.out.println(s3); 15 } 16 17 private static void demo1() { 18 StringBuffer sb1 = new StringBuffer("heima"); //通過構造方法將字串轉換為StringBuffer物件 19 System.out.println(sb1); 20 21 StringBuffer sb2 = new StringBuffer(); 22 sb2.append("heima"); //通過append方法將字串轉換為StringBuffer物件 23 System.out.println(sb2); 24 } 25 26 }
10、形式引數問題
* String作為引數傳遞
* StringBuffer作為引數傳遞
* 基本資料型別的值傳遞,不改變其值
* 引用資料型別的值傳遞,改變其值
* String類雖然是引用資料型別,但是他當作引數傳遞時和基本資料型別是一樣的