java字串連線很常見。作為一名Java開發人員,幾乎每隔一段時間就會編寫用於字串連線的程式碼。
Java中的字串連線
相信你可能聽說不應該在java中使用字串+
運算子來進行字串連線。應該使用StringBuffer
或StringBuilder
類來實現連線操作。這是一個非常常見的java面試問題。
如果深入挖掘,你可能知道String內部使用StringBuffer
(直到Java 1.4)或StringBuilder
(Java 1.5以後)進行字串+
操作符呼叫。
下面編寫一個簡單的String連線java程式來證明這一點。
import java.util.Arrays;
public class StringToCharArray {
public static void main(String args[]) {
String str = new String("Yiibai");
str += "kaops!!";
}
}
現在將編輯上面的程式以使用StringBuffer
。
public class StringConcatenationExample {
public static void main(String args[]){
StringBuffer str = new StringBuffer ("Yiibai");
str.append("kaops!!");
}
}
使用 + 運算子字串連線的解釋
以下是使用+
運算子進行字串連線所涉及的步驟:
StringBuilder
物件;"Yiibai"
複製到新建立的StringBuilder
物件;append()
方法將kaops!!
附加到物件;toString()
方法來獲取String
物件;String
物件參照分配給str
,舊的字串"Yiibai"
可用於垃圾回收。使用append字串連線的解釋
如果使用StringBuffer
或StringBuilder
物件,則按以下步驟完成:
StringBuffer
物件,值為"Yiibai"
;append()
方法將"kaops!!"
附加到物件;toString()
方法來獲取String物件;顯然,第二種方式是耗時更少,使用更少的資源並產生更少的垃圾收集。