StringBuffer


StringBuffer和String的區別?
  前者長度和內容可變,后者不可變。
  如果使用前者做字符串的拼接,不會浪費太多的資源。

StringBuffer的構造方法:
         public StringBuffer():無參構造方法
         public StringBuffer(int capacity):指定容量的字符串緩沖區對象
         public StringBuffer(String str):指定字符串內容的字符串緩沖區對象

    默認容量為16

添加功能:

     public StringBuffer append(String str):追加
     public StringBuffer insert(int offset,String str):指定位置插入字符串

刪除功能:
      public StringBuffer deleteCharAt(int index):刪除指定位置的字符,並返回本身
      public StringBuffer delete(int start,int end):刪除從指定位置開始指定位置結束的內容,並返回本身
替換功能:
      public StringBuffer replace(int start,int end,String str):從start開始到end用str替換

反轉功能:
      public StringBuffer reverse()

截取功能:

    注意返回值類型不再是StringBuffer本身了
      public String substring(int start)
      public String substring(int start,int end)

String -轉化為-StringBuffer

      String s = "hello";
          // 注意:不能把字符串的值直接賦值給StringBuffer
          // StringBuffer sb = "hello";
          // StringBuffer sb = s;
          // 方式1:通過構造方法
          StringBuffer sb = new StringBuffer(s);
          // 方式2:通過append()方法
          StringBuffer sb2 = new StringBuffer();
          sb2.append(s);

StringBuffer -轉化為- String
          StringBuffer buffer = new StringBuffer("java");
          // String(StringBuffer buffer)
          // 方式1:通過構造方法
    String str = new String(buffer);
          // 方式2:通過toString()方法
          String str2 = buffer.toString();

1:String,StringBuffer,StringBuilder的區別?
   A:String是內容不可變的,而StringBuffer,StringBuilder都是內容可變的。
   B:StringBuffer是同步的,數據安全,效率低;StringBuilder是不同步的,數據不安全,效率高
 
 2:StringBuffer和數組的區別?
   二者都可以看出是一個容器,裝其他的數據。
   但是呢,StringBuffer的數據最終是一個字符串數據。
   而數組可以放置多種數據,但必須是同一種數據類型的。

3:形式參數:
        基本類型:形式參數的改變不影響實際參數
        引用類型:形式參數的改變直接影響實際參數
 *注意:
          String作為參數傳遞,效果和基本類型作為參數傳遞是一樣的。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM