字符串拼接没有绝对的“最好”,只有最适合当前场景的方案。下面按语言 + 场景给你一个实用总结。
StringBuilder、StringBuffer、列表 join)// 1. 少量拼接(可读性最好)
String s = "Hello " + name + "!";
// 2. 循环 / 大量拼接(性能最好)
StringBuilder sb = new StringBuilder();
sb.append("a").append("b").append("c");
String result = sb.toString();
// 循环中用 +(会生成大量临时对象)
String s = "";
for (...) {
s += x; // 不好
}
StringBuilderStringBuffer(线程安全,但慢)# 1. f-string(最推荐,清晰、快)
s = f"Hello {name}"
# 2. join(循环拼接)
parts = []
for x in data:
parts.append(str(x))
result = "".join(parts)
s = ""
for x in data:
s += x # 性能差
// 1. 模板字符串(最推荐)
const s = `Hello ${name}`;
// 2. 数组 join(循环拼接)
const parts = [];
for (let x of data) {
parts.push(x);
}
const result = parts.join("");
let s = "";
for (...) {
s += x; // 可读性和性能都不好
}
// 1. 插值字符串
string s = $"Hello {name}";
// 2. StringBuilder
var sb = new StringBuilder();
sb.Append("a").Append("b");
string result = sb.ToString();
❌ 字符串拼接 SQL(危险)
"select * from user where id = " + id
✅ 使用参数化 / 占位符
select * from user where id = ?
日常用最自然的写法,循环拼接用“可变结构”,SQL 用占位符。
如果你能告诉我:
我可以直接给你最优写法 + 示例代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。