StringBuffer物件通常可以安全地在多執行緒環境中使用,其中多個執行緒可能會嘗試存取同一個 StringBuffer物件同時。 StringBuilder是線程安全的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中文網其他相關文章!