Java裡連線字串的幾種方式以及優缺點

未進化的類人猿 發表於 2021-03-31
Java

Java裡連線字串的幾種方式以及優缺點

字串連線操作在Java程式很常見,這篇文章將會總結歸納字串連線的四種方式

  • + 連線

  • String.concat()

  • StringBuilder

  • StringBuffer

使用+號連線


class Helloworld {

public static void main(String[] args) {

// 現在有兩個字串, Hello與World!, 需要通過程式得到

// Hello World!

String str1 = "Hello ";

String str2 = "World!";

String str3 = str1 + str2;

System.out.println(str3);

}

}

結果: Hello World!

優點:

  • 操作簡單

缺點:

  • 因為每次使用都會新生成一個String物件來負載新的字串, 所以效率很低

適用場景

  • 簡單字串連結

String.concat


public class SringC {

public static void main(String[] args) {

String test = "Hello ";

String test1 = test.concat("World!");

System.out.println(test1);

}

}

結果: Hello World!

優點:

  • 操作簡單

缺點:

  • 暫時未發現

適用場景

  • 簡單字串連結

StringBuilder


public class StringB {

public static void main(String[] args) {

StringBuilder builder = new StringBuilder();

builder.append("Hello ");

builder.append("World!");

System.out.println(builder.toString());

}

}

結果: Hello World!

優點:

  • 無需要每次生成String物件,效率高

缺點:

  • 暫時未發現

適用場景

  • 比較大的字串構建,比如從文字里讀取

StringBuffer


public class SringF {

public static void main(String[] args) {

StringBuffer buffer = new StringBuffer();

buffer.append("Hello ");

buffer.append("World!");

System.out.println(buffer.toString());

}

}

結果: Hello World!

優點:

  • 無需要每次生成String物件,效率高(效率低於StringBuilder方式)

缺點:

  • 暫時未發現

適用場景

  • 比較大的字串構建,比如從文字里讀取

  • 支援多執行緒建立

本作品採用《CC 協議》,轉載必須註明作者和本文連結
禁止轉載