Java字符串拼接最常用+运算符,支持任意类型自动转字符串,左结合、逐次转换;循环中慎用,推荐StringBuilder或String.format等替代方案。

Java 中字符串拼接最常用的是 + 运算符,它支持将字符串与任意类型数据连接,底层会自动调用 String.valueOf() 转换非字符串操作数。
基本用法:+ 号拼接字符串和变量
只要有一个操作数是字符串(String 类型),+ 就按字符串拼接处理,其余操作数会被隐式转为字符串:
-
"Hello" + "World"→"HelloWorld" -
"Age: " + 25→"Age: 25"(数字 25 自动转成字符串) -
"Result: " + (3 + 4)→"Result: 7"(括号确保先算加法) -
"Value: " + null→"Value: null"(null被转为字符串"null")
注意结合顺序和类型优先级
+ 是左结合运算符,从左到右依次计算;类型转换发生在每次运算时,不是整体转换:
-
1 + 2 + "abc"→ 先算1 + 2 = 3(数值加法),再3 + "abc"→"3abc" -
"abc" + 1 + 2→ 先"abc" + 1 = "abc1",再"abc1" + 2 = "abc12" -
"abc" + (1 + 2)→ 括号内先算,结果是"abc3"
性能提醒:循环中慎用 + 拼接
在方法内多次用 + 拼接(尤其在循环里),编译器虽会优化为 StringBuilder,但可读性和可控性差。频繁拼接建议显式使用:
立即学习“Java免费学习笔记(深入)”;
-
StringBuilder(单线程、高性能):new StringBuilder().append("a").append(1).toString() -
StringBuffer(线程安全,略慢) - JDK 15+ 可考虑
StringTemplate(预览特性,需启用)
替代方案:String.format 和文本块(JDK 15+)
需要格式化或拼接多行内容时,+ 不够清晰:
String.format("Name: %s, Age: %d", name, age)- JDK 15+ 文本块 +
STR.(需预览):STR."Name: \{name}, Age: \{age}"


















