我想知道 StringBuffer 的使用是否与我之前的代码执行相同的操作,因为 SonarQube 要求我不要使用 +=
用于 append 字符串。
我以前的代码:
String sign = "";
if (value < 0) {
sign.append("-");
}
我使用 StringBuffer 的新代码:
StringBuffer sign = new StringBuffer();
sign.append("");
if (value < 0) {
sign.append("-");
}
这样更好吗?
感谢您的建议。
最佳答案
除非您在循环中使用该代码,否则第一种方式(字符串连接)没有什么坏处。对于单次尝试,您可以使用它。
正如有人评论的那样,我假设通过编写 sign.append("-");
,你的意思是 sign +="-"
如果您在循环中使用,我建议使用StringBuilder
而不是StringBuffer
,因为StringBuffer
还有另一个开销,即它是同步的。除非你需要线程安全,否则最好将其更改为StringBuilder
。
我不确定为什么 SonarQube 建议您使用 StringBuffer
。
关于java - 在 Java 中使用字符串缓冲区进行字符串追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32883460/