String dan StringBuilder sering digunakan dalam proyek. String dapat disambung dengan "+", dan StringBuilder dapat disambung dengan append. Meskipun saya biasanya menggunakan StringBuilder untuk menggabungkan pernyataan kueri saat melakukan kueri database, saya masih tidak tahu alasannya. Saat saya menonton video hari ini, saya melihat StringBuffer lagi, dan saya merasa penggunaannya serupa, jadi saya memeriksa perbedaan di antara hal-hal tersebut.
Dirangkum sebagai berikut:
1. Perbandingan dalam hal kecepatan eksekusi: StringBuilder > StringBuffer
2. StringBuffer dan StringBuilder, keduanya adalah variabel string dan objek yang dapat diubah. Setiap kali kita menggunakannya untuk mengoperasikan string, kita sebenarnya mengoperasikan suatu objek. Ini tidak seperti membuat beberapa objek untuk beroperasi seperti String.
3.StringBuilder: thread tidak aman
StringBuffer: aman untuk thread
Ketika buffer string kami digunakan oleh banyak thread, JVM tidak dapat menjamin bahwa pengoperasian StringBuilder aman meskipun merupakan yang tercepat, namun dapat menjamin bahwa StringBuffer dapat beroperasi dengan benar. Tentu saja, dalam banyak kasus kami melakukan operasi dalam satu thread, jadi dalam banyak kasus disarankan untuk menggunakan StringBuilder daripada StringBuffer karena alasan kecepatan.
Ringkasan penggunaan ketiganya:
1. Jika Anda ingin mengoperasikan data dalam jumlah kecil, gunakan String
2. Operasi single-thread string buffer untuk mengoperasikan sejumlah besar data StringBuilder
3. Operasi multi-thread string buffer untuk mengoperasikan sejumlah besar data StringBuffer