java - 在Java中将常量字符串附加到变量字符串的最有效方法?

标签 java string loops concatenation

目前在我的代码中,我的 for 循环中有类似于以下内容的内容:

bstr = bstr + x.charAt(i) + x.charAt(i>>4) + x.charAt(i>>8);

其中 i 是整数和循环变量,x 是静态最终常量字符串。 bstr 可以以 KB 为单位。

谢谢

最佳答案

执行此操作的一种高效方法是使用 StringBuilder 来连接字符串:

StringBuilder builder = new StringBuilder();
for(int i = 0; i < count; i++){
    builder.append(x.charAt(i));
    builder.append(x.charAt(i>>4));
    builder.append(x.charAt(i>>8));
}

return builder.toString();

此技术避免了在 for 循环的串联之间存储所有字符串副本的问题。

编辑:

或者这对您有用吗(无需一次添加一个字符):

StringBuilder builder = new StringBuilder();
for(int i = 0; i < count; i++){
    builder.append(x);
}

return builder.toString();

关于java - 在Java中将常量字符串附加到变量字符串的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10402542/

相关文章:

c++ - 使用带有可变参数字符串的函数

javascript - 带有上一个、暂停和下一个按钮的 JS 文本循环

database - Codeigniter - 循环发布信息传递值到模型查询并输出结果

python - While 循环在遍历日期时不会停止

java - 如何以编程方式设置相对布局中 TextViews 的对齐父右属性

java - 如何根据 Java 中的其他字符串列表减少结构列表?

c - 在c中解析字符串

javascript - 了解javascript中的切片

java - 不幸的是,应用程序名称已在 Eclipse 中停止

java - 如何将 2.5E7 更改为正常格式的数字?