java 如何拼接方法
方法一:使用 StringBuilder 或 StringBuffer
StringBuilder 和 StringBuffer 是专门用于字符串拼接的高效类,适用于频繁拼接的场景。
StringBuilder sb = new StringBuilder();
sb.append("Hello").append(" ").append("World");
String result = sb.toString(); // 输出 "Hello World"
StringBuffer 是线程安全版本,但性能略低,非多线程场景推荐 StringBuilder。
方法二:使用 String.concat()
适合少量字符串拼接,每次调用返回新字符串。
String str1 = "Hello";
String str2 = " ";
String str3 = "World";
String result = str1.concat(str2).concat(str3); // 输出 "Hello World"
注意:频繁拼接会产生大量中间对象,可能影响性能。

方法三:使用 String.join()(Java 8+)
适用于用固定分隔符拼接字符串集合或数组。
String[] parts = {"Hello", "World"};
String result = String.join(" ", parts); // 输出 "Hello World"
支持 List<String> 或其他 Iterable 类型。
方法四:使用 String.format() 或 MessageFormat
适合格式化拼接,尤其是包含变量或数字的场景。

String name = "Java";
int version = 17;
String result = String.format("%s version %d", name, version); // 输出 "Java version 17"
MessageFormat 提供更复杂的国际化支持。
方法五:使用 Stream API(Java 8+)
通过 Collectors.joining() 拼接集合中的字符串。
List<String> words = Arrays.asList("Hello", "World");
String result = words.stream().collect(Collectors.joining(" ")); // 输出 "Hello World"
支持自定义分隔符、前缀和后缀。
注意事项
- 性能敏感场景优先选择
StringBuilder。 - 需要线程安全时使用
StringBuffer。 - 简单拼接可使用
+运算符(编译器会优化为StringBuilder)。 - 避免在循环中使用
+或concat(),可能导致性能问题。






