String+和 StringBuilder的append()分析


String字符串常量

StringBuilder字符串變量<br/>

例如:

執行結果:

false

常量池中會創建“aaa”,"ni";堆內存會創建兩個對象,其中一個沒有變量指向,變為垃圾對象,等待GC處理。

 

  

 

執行結果:

 

常量池中會創建:“aaa”,"bb"

StringBuilder是對對象自身進行操作,堆中只會創建一個對象。

所以在字符串內容經常改變時選擇使用StringBuilder。

 什么情況下用+運算符進行字符串連接比調用StringBuffer/StringBuilder對象的append方法連接字符串性能更好?

對於字面量字符的連接,String+的性能更好,如 String s5="aaa"+"bb"+"cc";其實就是String s5="aaabbcc";此時常量池中有“aaabbcc”;

而對於大部分情況,StringBuilder性能優於String。

 


免責聲明!

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



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