接觸Java到現在總的來說時間也不算短,發現身邊的一些朋友對String字元串連接配接符或多或少存在誤解(可能我了解的也不對,歡迎指正),随便寫寫自己的一些觀點
Java對比C++少了運算符重載,字元串連接配接符"+"底層實作是通過StringBuffer和StringBuilder來實作的。在Java中拼接字元串要麼用字元串連接配接符"+",要麼用StringBuffer或StringBuilder,許多人糾結這兩種方式的效率問題。
先說說下面的這種情況:
String str = "Hello "+"world "+"!";
這種靜态字元串連結,編譯的時候編譯器會自動将之看作:String str = "Hello world !",比之如下代碼效率要高很多。
StringBuffer strBuffer = new StringBuffer();
strBuffer.append("Hello ");
strBuffer.append("world ");
strBuffer.append("!");
對于動态字元串StringBuffer的效率比字元串連接配接符效率要高。
strBuffer.append(String.valueOf(new Date()));比str=str+String.valueOf(new Date());執行效率和記憶體消耗都小很多。
連結靜态字元串,建議用字元串連接配接符,連結動态字元串建議使用StringBuffer或StringBuilder。
版權聲明:本文為CSDN部落客「weixin_33775582」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/weixin_33775582/article/details/92095644