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("zaixian");
str += "kaops!!";
}
}
現在將編輯上面的程式以使用StringBuffer
。
public class StringConcatenationExample {
public static void main(String args[]){
StringBuffer str = new StringBuffer ("zaixian");
str.append("kaops!!");
}
}
使用 + 運算符字串連接的解釋
以下是使用+
運算符進行字串連接所涉及的步驟:
- 創建一個新的
StringBuilder
對象; - 將字串
"zaixian"
複製到新創建的StringBuilder
對象; - 調用StringBuilder
append()
方法將kaops!!
附加到對象; - 調用StringBuilder
toString()
方法來獲取String
對象; - 新的
String
對象引用分配給str
,舊的字串"zaixian"
可用於垃圾回收。
使用append字串連接的解釋
如果使用StringBuffer
或StringBuilder
對象,則按以下步驟完成:
- 創建一個新的
StringBuffer
對象,值為"zaixian"
; - 調用
append()
方法將"kaops!!"
附加到對象; - 調用StringBuffer
toString()
方法來獲取String對象;
顯然,第二種方式是耗時更少,使用更少的資源並產生更少的垃圾收集。
上一篇:
java中方法重載和方法重寫的區別
下一篇:無