String、StrigBurer、StrigBuiderの性能テスト

2521 ワード

Stringが固定長の可変でない文字列StringBuiderであることを個人的に理解し、最高の性能を提供し、そのコードは以下の通りである.
  public StringBuilder append(int i) {
    super.append(i);
    return this;
  }
StringBuffer     ,           ,    
  public synchronized StringBuffer append(int i) {
    super.append(i);
    return this;
  }
 
    2      StringBuffer     synchronized 
 
   3       
import java.util.Map;

public class MyTest {
  /**
   * @param args
   */
  public static void main(String[] args) {
    testString();
    testStringBuilder();
    testStringBufer();
  }

  static int NUMBER = 10000;

  public static void testString() {
    long begin = System.currentTimeMillis();
    String str = "";
    for (int i = 1; i < NUMBER; i++) {
      str = str + i;
    }
    System.out.println("testString=" + (System.currentTimeMillis() - begin));
  }

  public static void testStringBuilder() {
    long begin = System.currentTimeMillis();
    StringBuilder b = new StringBuilder();
    for (int i = 1; i < NUMBER; i++) {
      b.append(i);
    }
    String str = b.toString();
    System.out.println("testStringBuilder=" + (System.currentTimeMillis() - begin));
  }

  public static void testStringBufer() {
    long begin = System.currentTimeMillis();
    StringBuffer b = new StringBuffer();
    for (int i = 1; i < NUMBER; i++) {
      b.append(i);
    }
    String str = b.toString();
    System.out.println("testStringBufer=" + (System.currentTimeMillis() - begin));
  }
}
 
      
testString=750
testStringBuilder=0
testStringBufer=0
  String           ,   2      。
 
  StringBuilder StringBuffer   ,      。       ,         。
 
  
      ,StringBuilder      
<script type=「text/javascript」>