在 Java 中高效地附加字串
-
concat()
來自java.lang.String
類 -
使用
+
運算子的字串連線 -
使用
java.lang.String
中的concat()
方法 -
在 Java 中使用
StringBuffer
連線字串 -
在 Java 中連線字串時使用
StringBuilder
當我們談論 Java 中的字串連線時,會想到 +
運算子以最有效地附加字串。由於 Java 不提供對過載的支援,因此字串具有這種行為是特殊的。除了 +
操作符之外,還有多種方法用於在 Java 中附加字串:
StringBuffer
StringBuilder
concat()
來自 java.lang.String
類
StringBuffer
和 StringBuilder
類都用於此目的。StringBuilder
很重要,因為它是連線字串的最快方法。StringBuffer
由於同步方法而具有第二優先權,並且因為除它們之外的其他方法比這兩個方法慢 1000 倍。在這裡,我們將看到這四種方法的示例。
public class Main {
public static void main(String args[]) {
// 1st method of concat
String str1 = "Most";
str1 = str1.concat(" Welcome");
str1 = str1.concat(" to University");
System.out.println(str1);
// 2nd method of concat
String str2 = "Today";
str2 = str2.concat(" is").concat(" your first").concat(" day");
System.out.println(str2);
}
}
輸出:
Most Welcome to University
Today is your first day
使用 +
運算子的字串連線
這是在 Java 中連線字串和數值的最簡單方法。當使用者在字串連線的開頭有兩個或多個原始值(例如 short
、char
或 int
)時,必須將它們顯式轉換為字串。例如,System.out.println(300, + 'B'+ "")
永遠不會列印 300B,它將通過獲取 B 的 ASCII
值,然後將其新增到 300 來列印 366。另一方面, 如果我們使用 System.out.println('', + 300 +'B')
,那麼它將列印 300B。在呼叫 String()
之前,所有 +
運算子掃描都被連線到各種 StringBuilder.append()
呼叫中。
使用 java.lang.String
中的 concat()
方法
concat(String str)
方法將一些特定的字串連線到字串的末尾。它分配長度的 char[]
,等於兩個字串的組合長度。此方法將 String 資料複製到該字串中,並從私有 String 建構函式建立一個新的 String 物件,該建構函式不會複製輸入 char[]
,如下所示。
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the first string: ");
String str1 = sc.next();
System.out.println("Enter the second string: ");
String str2 = sc.next();
String result = str1 + str2;
System.out.println(result);
}
}
輸出:
Enter the first string:
United
Enter the second string:
Kingdom
UnitedKingdom
在 Java 中使用 StringBuffer
連線字串
當 StringBuilder
不可用時,這是連線多個字串、整數和 Java 其他部分的最合適的方法。它比 concat()
和 +
運算子方法工作得更快。這種方法的唯一缺點是 StringBuffer
的 append 方法是同步的。它的工作方法類似於 StringBuilder
方法。它還提供了不同的過載附加方法來連線 char
、int
、short
等。
public class Main {
public static void main(String args[]) {
StringBuffer sb = new StringBuffer("My ");
sb.append("Country");
System.out.println(sb);
}
}
輸出:
My Country
在 Java 中連線字串時使用 StringBuilder
這是在 Java 中連線字串的最佳方法之一。最重要的是,當使用者連線多個字串時。當使用者需要附加多個字串時,這種方法使用起來簡單高效。但是當使用者需要連線字串時,這種方法並不常用。
public class Main {
public static void main(String args[]) {
StringBuilder sb = new StringBuilder("My ");
sb.append("Country");
System.out.println(sb);
}
}
輸出:
My Country