這也是個比較重要的東西,因為String字符串的應用范圍很廣。但是有些時候使用StringBuffer更好一些。有些時候還不能用String。到了jdk5的時候,又補充了個東西StringBuilder。我們來看看他們的區別。
String 的長度是不可變的,StringBuffer的長度是可變的。如果對字符串中的長度經常進行操作,特別是內容要修改時,使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法。
當我們進行字符拼接時,請使用StringBuffer或StringBuilder類而非String類,因為前者將比后者性能高的多,在java語言的優化編程里面,這是一條比較重要的。
在使用String 的時候,拼接字符串時使用“+”這個東西在JVM上形成臨時的StringBuffer對象,同時在每一個字符串上都建立一個對象,拼接了兩個字符串居然創建了4個對象。(一個String,兩個字符串,一個臨時的StringBuffer)。
如果使用StringBuffer就好多了,它可以只需創建兩個對象就可以了,一個StringBuffer和最后的String 。
StringBuilder是在jdk5中添加的一個類,它與StringBuffer功能一樣。但是它不是線程安全的,就是說它不支持多線程。如果在不需要多線程的時候,使用StringBuilder比StringBuffer還要塊的多。不支持線程同步當然要快了。