Perbezaan Antara StringBuffer dan StringBuilder

Anonim

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 diubah. 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 tergolong dalam java. pakej lang dan diwarisi dari java generik. lang. objek. 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, itu 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 dibebankan, jadi mereka dapat menerima data dari mana-mana jenis seperti integer dan panjang. Kedua-dua kaedah ini mula-mula mengubah apa-apa input kepada rentetan, dan kemudian menambah (memasukkan atau memasukkan) watak-watak rentetan yang sepadan dengan objek Stribbuffer sedia ada. Kaedah tambah () menambahkan rentetan yang ditukar kepada 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 tergolong dalam java. pakej lang dan diwarisi dari java generik. lang. objek. 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 diubah dalam Java, mereka mempunyai perbezaan utama. Tidak seperti kelas StringBuffer, kelas StringBuilder bukan benang selamat, dan tidak menyediakan penyegerakan. Oleh itu, adalah disyorkan bahawa kelas StringBuilder harus digunakan sebagai pengganti kelas StringBuffer dalam aplikasi tunggal-thread, kerana ia mendakwa kelas StringBuilder akan lebih cepat daripada kelas StringBuffer (dalam keadaan normal).