StringBuffer オブジェクトは、通常、複数のスレッドが同じ StringBuffer にアクセスしようとする可能性がある マルチスレッド環境 で安全に使用できます。同時にオブジェクト。 StringBuilder は、synchronize > メソッドを行わないため、はるかに高速に動作する StringBuffer クラスの スレッドセーフな代替品です。単一スレッドで多くの文字列操作を実行する場合、このクラスを使用すると パフォーマンスを向上させることができます。
public class CompareBuilderwithBufferTest { public static void main(String []args) { <strong> </strong> stringBufferTest(); stringBuilderTest();<strong> </strong> } 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()<strong> </strong>{ 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 では、StringBuilder と StringBuffer をどのように比較するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。