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

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類雖然是引用資料型別,但是他當作引數傳遞時和基本資料型別是一樣的