Avatar ·

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(); } } ```