Objek
StringBuffer secara amnya selamat digunakan dalam persekitaran berbilang benang, di mana berbilang benang mungkin cuba mengakses objek StringBuffer yang sama pada masa yang sama. StringBuilder ialah pengganti selamat benang untuk kelas StringBuffer, yang berfungsi lebih pantas kerana ia tidak mempunyai kaedah disegerakkan>. Jika kita melakukan banyak operasi rentetan dalam satu utas, menggunakan kelas ini boleh meningkatkan prestasi.
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
Atas ialah kandungan terperinci Di Jawa, bagaimana kita membandingkan StringBuilder dan StringBuffer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!