java字符串拼接的幾種方式


java字符串拼接的幾種方式

1+ 方式

String str1="hello";

String str2="world";

String str=str1+str2;

 

2. concat方式

當兩個量都為String類型且值不為null時,可以用concat方式

String a="a";

String b="b";

String c= a.concat(b);

理論上,此時拼接效率應該最高,因為已經假定兩個量都為字符串,做底層優化不需要額外判斷或轉換,而其他方式無論如何優化,都要先走到這一步。

 

3. append方式

當需要拼接至少三個量的時候,可以考慮使用StringBuffer#append()以避免臨時字符串的產生

StringBuffer buf=new StringBuffer()

buf.append("a");

if(someCondition){

    buf.append("b");

}

buf.append("c");

String d=buf.toString();

a,b,c拼接起來會很長時,可以給在構造器中傳入一個合適的預估容量以減少因擴展緩沖空間而帶來的性能開銷。

StringBuffer buf=new StringBuffer(a.length()+b.length()+c.length());

JDK對外提供的一些涉及可append CharSequence的參數或返回值類型往往是StringBuffer類型,畢竟安全第一,而StringBuffer大多數情況(包括append操作)線程安全。

若不會出現多線程同時對一實例並發進行append操作,建議使用非線程安全的StringBuilder以獲得更好性能

 

4. 其他

若需拼接至少三個量,只用一個連續拼接的語句就可完成時,從使代碼簡潔角度考慮,用plus方式。

String a="a";

String b="b";

String c="c";

String d=a+b+c;

此時,第4句經JDK編譯后其字節碼()會自動優化為等效於下列代碼編譯后的字節碼。

String d=new StringBuilder().append(a).append(b).append(c).toString();

若采用模板+參數來替換占位符的方式或需同時對要拼接日期/數字進行格式化,可以用String.format()來實現

喜歡這樣文章的可以關注我,我會持續更新,你們的關注是我更新的動力!需要更多java學習資料的也可以私信我!

祝關注我的人都:身體健康,財源廣進,福如東海,壽比南山,早生貴子,從不掉發!

 


免責聲明!

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



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