0 java string loops concatenation
目前在我的代码中,我在for循环中有类似于:
bstr = bstr + x.charAt(i) + x.charAt(i>>4) + x.charAt(i>>8);
Run Code Online (Sandbox Code Playgroud)
其中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();
Run Code Online (Sandbox Code Playgroud)
这种技术避免了在for循环中在串联之间存储字符串的所有副本的问题.
编辑:
或者这对你有效(一次不添加一个字符):
StringBuilder builder = new StringBuilder();
for(int i = 0; i < count; i++){
builder.append(x);
}
return builder.toString();
Run Code Online (Sandbox Code Playgroud)