淺談String/StringBuffer/StringBuilder字符串的拼接


一、String類型的拼接  

     String str="愛我還是他";
        str.concat("我已看不到我們的好");  
        System.out.println(str);    //"愛我還是他"

  String的concat方法只會返回拼接括號內數據后的字符串,但是這個String類型的本身並不受影響。

     String str="愛我還是他";
        str=str+",我已看不到我們的好";
        System.out.println(str);    //“愛我還是他,我已看不到我們的好”

  這里的拼接符不能所在的表達式不能單獨存在,必須有賦值操作。

 

二、StringBuffer類型的拼接  

     StringBuffer sb=new StringBuffer("愛我還是他");
        sb.append("。");
        System.out.println(sb.toString());  //“愛我還是他。”
        sb.insert(0, "你都已看不到我們的好,");    //這里前一個參數是插入的下標,后一個參數是插入的數據
        System.out.println(sb.toString());  //“你都已看不到我們的好,愛我還是他。”

 

   可以看到,只要運用的append或insert方法,那么StringBuffer本身的值就會改變,而不用重新賦值。

 

三、StringBuilder類型的拼接

     StringBuilder sb=new StringBuilder("愛我還是他");
        sb.append("。");
        System.out.println(sb.toString());
        sb.insert(0, "你都已看不到我們的好,");
        System.out.println(sb.toString());

 

  StringBuilder比StringBuffer運行速度要快,因為StringBuilder是針對於單線程的,所這它是非線程安全的。普通情況下建議使用StringBuilder。

 

(個人學習筆記,有錯請說。謝謝!)

 


免責聲明!

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



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