我们如何比较Java中的StringBuilder和StringBuffer?


本文向大家介绍我们如何比较Java中的StringBuilder和StringBuffer?,包括了我们如何比较Java中的StringBuilder和StringBuffer?的使用技巧和注意事项,需要的朋友参考一下

StringBuffer的 对象通常是安全的使用多线程环境中多个线程可能试图访问同一StringBuffer的 同时对象。该StringBuilder的 是用于替换线程安全StringBuffe [R类和它的作品多,因为它已经没有更快的同步 方法。如果我们在单个线程中执行大量的String操作,则使用此类时可以获得很多性能 

示例

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