Dmi*_*edv 2 java performance intellij-idea stringbuffer
Intellij Idea提供更换以下内容:
StringBuffer sb = new StringBuffer();
sb.append("Name=").append(name).append(", name2=").append(name2).append(", list=").append(list);
return sb.toString();
Run Code Online (Sandbox Code Playgroud)
至:
return "name=" + name + ", name2=" + name2 + ", list=" + list;
Run Code Online (Sandbox Code Playgroud)
据我所知,它不太有效(可变/不可变).那么,更好的是什么?
第二个编译为与第一个相同的字节代码,除了它使用非同步StringBuilder而不是同步StringBuffer.所以它不仅更具可读性,而且速度更快.我会选择第二个.
StringBuilder在循环中连接时使用a 非常有用,以避免创建许多临时String对象:
String result = "";
for (String element : array) {
result += element;
}
Run Code Online (Sandbox Code Playgroud)
应该被替换
StringBuilder builder = new StringBuilder();
for (String element : array) {
builder.append(element);
}
String result = builder.toString();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
377 次 |
| 最近记录: |