温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java String 怎么拼接高效

发布时间:2026-09-15 05:59:18 来源:亿速云 阅读:97 作者:小樊 栏目:编程语言

在 Java 中,String 拼接的高效方式取决于使用场景。下面按常见情况总结最优做法。


一、不同场景的高效拼接方式

✅ 1. 少量拼接(代码里写死或少量变量)

直接用 +

String s = "a" + b + "c";
  • 编译期会优化为 StringBuilder
  • 可读性最好
  • 性能足够

✅ 推荐


✅ 2. 循环内拼接(最常见性能坑)

❌ 错误写法:

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


✅ 3. 多线程环境

使用:

StringBuffer sb = new StringBuffer();
  • 线程安全
  • 性能略低于 StringBuilder

⚠️ 如果不是多线程,不要用 StringBuffer


✅ 4. 已知大致长度(性能更优)

StringBuilder sb = new StringBuilder(1024);
  • 减少扩容次数
  • 大数据拼接时明显更快

✅ 5. Java 8+ 字符串拼接(底层优化)

String s = String.join(",", list);

或:

String s = String.format("%s-%s", a, b);
  • join 适合集合
  • format 可读性高,但性能一般

✅ 6. Java 11+(极简)

String s = """
    a
    b
    c
    """;
  • 多行字符串
  • 不算拼接,但很常用

二、性能对比(大致)

+ (少量)        ≈ StringBuilder
StringBuilder  > StringBuffer
String += 循环  << StringBuilder

三、总结一句话

日常用 +,循环用 StringBuilder,多线程用 StringBuffer,大字符串预分配容量

如果你有具体场景(如 JSON、SQL、日志、大文件),我可以给你更精准的写法。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手