StringBuilder vs StringBuffer:区别是什么,在Java中哪个更好用?
大家好!我开始学习Java,经常遇到需要拼接大量字符串的情况,尤其是在循环中。起初我使用普通的`+`连接,但读到这样效率不高,最好使用`StringBuilder`或`StringBuffer`。
然而我困惑了:它们之间有什么区别?看起来两者做的是同一件事——允许构建字符串而不创建多余的对象。我写了一个小例子,但不知道选哪个:
```java
public class Test {
public static void main(String[] args) {
// 方式1
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 1000; i++) {
sb.append("число ").append(i).append(", ");
}
String result1 = sb.toString();
// 方式2
StringBuffer sbf = new StringBuffer();
for (int i = 0; i < 1000; i++) {
sbf.append("число ").append(i).append(", ");
}
String result2 = sbf.toString();
}
}
```