在 Java 中,我们如何比较 StringBuilder 和 StringBuffer?
javaobject oriented programmingprogramming更新于 2025/5/31 18:20:17
StringBuffer 对象在多线程环境中通常可以安全使用,因为多个线程可能同时尝试访问同一个 StringBuffer 对象。StringBuilder 是线程安全的 StringBuffer 类的替代品,并且由于没有 synchronized 方法,因此运行速度更快。如果我们在单个线程中执行大量字符串操作,则使用此类可以获得很大的性能 提升。
示例
public class CompareBuilderwithBufferTest {
public static void main(String []args) {
stringBufferTest();
stringBuilderTest(); }
public static void stringBufferTest() {
long startTime = System.nanoTime();
StringBuffer sb = new StringBuffer();
for (int i=0; i < 1000; i++) {
sb.append((char) 'a');
}
System.out.println("StringBuffer test: " + (System.nanoTime() - startTime));
}
public static void stringBuilderTest() {
long startTime = System.nanoTime();
StringBuilder sb = new StringBuilder();
for (int i=0; i < 1000; i++) {
sb.append((char) 'a');
}
System.out.println("StringBuilder test: " + (System.nanoTime() - startTime));
}
}
输出
StringBuffer test: 192595 StringBuilder test: 85733
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

