Perbezaan Antara StringBuffer dan StringBuilder

StringBuffer vs StringBuilder

Java adalah bahasa berorientasikan objek yang sangat popular. Di Jawa, kelas String disediakan untuk memegang urutan aksara yang tidak boleh diubah (sekali diisytiharkan). Sebagai alternatif, bahasa pengaturcaraan Java menyediakan dua jenis urutan urutan yang boleh berubah. Iaitu, apabila pengaturcara perlu mengubahsuai String tertentu (selepas permulaan), mereka perlu menggunakan kelas StringBuffer atau kelas StringBuilder, bukannya kelas String. StringBuffer diperkenalkan di JDK 1.0 dan kelas StringBuilder diperkenalkan di JDK 1.5, sebenarnya sebagai pengganti kelas StringBuffer (untuk persekitaran tunggal thread).

Apa itu StringBuffer?

Kelas StringBuffer diperkenalkan di JDK 1.0. Kelas StringBuffer dimiliki oleh pakej java.lang dan diwarisi dari java.lang.object generik. Pengaturcara tidak boleh melanjutkannya lagi kerana Ia adalah kelas terakhir. Kelas StringBuffer melaksanakan antara muka Serializable, Appendable dan CharSequience. Objek kelas StringBuffer boleh memegang urutan aksara yang boleh berubah dan selamat. Maksudnya, ia sangat mirip dengan objek String, tetapi urutan aksara (panjang dan kandungan) boleh diubah pada bila-bila masa selepas memulakan objek StringBuffer. Walau bagaimanapun, yang perlu dilakukan dengan menggunakan kaedah tertentu yang disediakan oleh kelas StringBuffer. Terdapat dua operasi prinsip dalam kelas StringBuffer. Mereka disediakan dengan kaedah tambahan () dan memasukkan (). Kaedah-kaedah ini terlalu banyak, jadi mereka dapat menerima data dari mana-mana jenis seperti integer dan panjang. Kedua-dua kaedah pertama kali mengubah apa-apa input kepada rentetan, dan kemudian menambah (memasukkan atau memasukkan) watak-watak rentetan yang sepadan dengan objek Stribbuffer sedia ada. Kaedah append () menambah rentetan ditukar pada akhir objek StringBuffer yang sedia ada, manakala kaedah memasukkan () akan menambahkan aksara masukan ke titik sisipan yang dinyatakan.

Apa itu StringBuilder?

Kelas StringBuilder diperkenalkan di JDK 1.5. StringBuilder API sangat mirip dengan API StringBuffer. Sebenarnya, kelas StringBuilder sebenarnya diperkenalkan sebagai pengganti kelas StringBuffer (untuk aplikasi single-thread). Kelas StringBuilder dimiliki oleh pakej java.lang dan diwarisi dari java.lang.object generik. Ia adalah kelas akhir dan oleh itu para programer tidak dapat melanjutkannya. Kelas StringBuilder melaksanakan antara muka Serializable, Appendable dan CharSequience. Objek kelas StringBuilder boleh memegang urutan aksara yang boleh berubah tetapi tidak benang selamat. Maksudnya, ia sangat mirip dengan objek String, tetapi rentetan itu boleh ditukar pada bila-bila masa. Tetapi kelas StringBuilder tidak menyediakan penyegerakan, dan dengan itu dikatakan lebih cepat daripada menggunakan kelas StringBuffer. Kelas StringBuilder menyediakan kaedah tambahan () dan memasukkan () dengan fungsi yang sama seperti dalam kelas StringBuffer.

Apakah perbezaan antara StringBuffer dan StringBuilder?

Walaupun, kelas StringBuilder dan StringBuffer boleh digunakan untuk urutan aksara yang boleh berubah di Jawa, mereka mempunyai perbezaan utama. Tidak seperti kelas StringBuffer, kelas StringBuilder tidak benang selamat, dan tidak menyediakan penyegerakan. Oleh itu, adalah disyorkan bahawa kelas StringBuilder harus digunakan sebagai ganti kelas StringBuffer dalam aplikasi tunggal-thread, kerana ia mendakwa bahawa kelas StringBuilder akan lebih cepat daripada kelas StringBuffer (dalam keadaan biasa).