java如何拼接变量
字符串拼接方法
在Java中,拼接变量(尤其是字符串)有多种方法,以下是常见的几种方式:
使用+运算符
String str1 = "Hello";
String str2 = "World";
String result = str1 + " " + str2; // 结果为 "Hello World"
使用String.concat()方法
String str1 = "Hello";
String str2 = "World";
String result = str1.concat(" ").concat(str2); // 结果为 "Hello World"
使用StringBuilder

StringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.append(" ");
sb.append("World");
String result = sb.toString(); // 结果为 "Hello World"
使用StringBuffer(线程安全)
StringBuffer sb = new StringBuffer();
sb.append("Hello");
sb.append(" ");
sb.append("World");
String result = sb.toString(); // 结果为 "Hello World"
使用String.format()

String str1 = "Hello";
String str2 = "World";
String result = String.format("%s %s", str1, str2); // 结果为 "Hello World"
使用String.join()(Java 8及以上)
String result = String.join(" ", "Hello", "World"); // 结果为 "Hello World"
性能比较
+运算符:简单易用,但在循环或大量拼接时性能较差,因为每次操作会生成新的字符串对象。String.concat():适合少量拼接,但不如StringBuilder高效。StringBuilder:适用于频繁拼接的场景,性能最优(非线程安全)。StringBuffer:与StringBuilder类似,但线程安全,性能稍低。String.format():适合格式化拼接,但性能较低。String.join():适合拼接集合或数组中的字符串,代码简洁。
示例代码
拼接变量与常量
int age = 25;
String name = "Alice";
String message = "Name: " + name + ", Age: " + age; // 结果为 "Name: Alice, Age: 25"
循环中拼接(推荐StringBuilder)
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 10; i++) {
sb.append("Number ").append(i).append(", ");
}
String result = sb.toString(); // 结果为 "Number 0, Number 1, ..., Number 9, "
注意事项
- 避免在循环中使用
+拼接字符串,否则会生成大量临时对象。 - 线程安全场景使用
StringBuffer,非线程安全场景使用StringBuilder。 - 使用
String.format()时注意格式化符号(如%s、%d)。






