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 協議》,轉載必須註明作者和本文連結