Java字串連接

java字串連接很常見。作為一名Java開發人員,幾乎每隔一段時間就會編寫用於字串連接的代碼。

Java中的字串連接

相信你可能聽說不應該在java中使用字串+運算符來進行字串連接。應該使用StringBufferStringBuilder類來實現連接操作。這是一個非常常見的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字串連接的解釋

如果使用StringBufferStringBuilder對象,則按以下步驟完成:

  • 創建一個新的StringBuffer對象,值為"zaixian"
  • 調用append()方法將"kaops!!"附加到對象;
  • 調用StringBuffer toString()方法來獲取String對象;

顯然,第二種方式是耗時更少,使用更少的資源並產生更少的垃圾收集。


上一篇: java中方法重載和方法重寫的區別 下一篇:無