在 Java 中,String 拼接的高效方式取决于使用场景。下面按常见情况总结最优做法。
直接用 +
String s = "a" + b + "c";
StringBuilder✅ 推荐
❌ 错误写法:
String s = "";
for (int i = 0; i < 10000; i++) {
s += i; // 每次都生成新 String
}
✅ 正确写法:
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 10000; i++) {
sb.append(i);
}
String s = sb.toString();
✅ 循环里一定要用 StringBuilder
使用:
StringBuffer sb = new StringBuffer();
StringBuilder⚠️ 如果不是多线程,不要用 StringBuffer
StringBuilder sb = new StringBuilder(1024);
String s = String.join(",", list);
或:
String s = String.format("%s-%s", a, b);
join 适合集合format 可读性高,但性能一般String s = """
a
b
c
""";
+ (少量) ≈ StringBuilder
StringBuilder > StringBuffer
String += 循环 << StringBuilder
日常用
+,循环用StringBuilder,多线程用StringBuffer,大字符串预分配容量
如果你有具体场景(如 JSON、SQL、日志、大文件),我可以给你更精准的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。