Perbedaan antara String, StringBuffer dan StringBuilder di Java – Contoh terlampir

Diterbitkan: 2022-01-30
Perbedaan antara String, StringBuffer dan StringBuilder di Java - Perbandingan dan Contoh terlampir

Dalam tutorial Java ini kita akan membahas perbedaan antara Java String, StringBuffer dan StringBuilder.

Mari kita mulai:

Rangkaian:

Kelas String mewakili string karakter. Semua literal string dalam program Java, seperti "crunchify", diimplementasikan sebagai instance dari kelas ini. String adalah konstan; nilainya tidak dapat diubah setelah dibuat.

StringBuffer:

Urutan karakter yang aman dan dapat diubah. Buffer string seperti String, tetapi dapat dimodifikasi.

Setiap saat itu berisi beberapa urutan karakter tertentu, tetapi panjang dan isi urutan dapat diubah melalui pemanggilan metode tertentu.

Buffer string aman untuk digunakan oleh banyak utas.

StringBuilder:

Urutan karakter yang bisa berubah. Kelas ini menyediakan API yang kompatibel dengan StringBuffer, tetapi tanpa jaminan sinkronisasi.

Kelas ini dirancang untuk digunakan sebagai pengganti drop-in untuk StringBuffer di tempat buffer string digunakan oleh satu utas (seperti yang umumnya terjadi).

Jika memungkinkan, direkomendasikan bahwa kelas ini digunakan dalam preferensi untuk StringBuffer karena akan lebih cepat di sebagian besar implementasi.

Mari kita bandingkan semua karakteristik String, StringBuffer dan StringBuilder di bawah ini.

Rangkaian StringBuffer StringBuilder
Benang aman? Ya Ya Tidak
Disinkronkan? Ya Ya Tidak
Dapat dimodifikasi? Tidak (tidak berubah) Ya (bisa berubah) Ya (bisa berubah)
Penyimpanan String Pool Tumpukan Tumpukan
Pertunjukan Lambat Cepat Lebih cepat

kode Jawa:

  • Buat kelas: CrunchifyStringVsStringBufferVsStringBuilder.java
  • Masukkan kode di bawah ini ke dalamnya
  • Menyimpan file

Dalam tutorial ini, kami menambahkan penambahan, penambahan string total 199999 kali.

Hasil Konsol IntelliJ IDEA:

Jalankan program di atas sebagai Aplikasi Java di IntelliJ IDEA atau di Eclipse Console dan Anda akan menghasilkan seperti di bawah ini.

Beri tahu saya jika Anda menghadapi masalah saat menjalankan program di atas atau memiliki pertanyaan antara String, StringBuffer, dan StringBuilder.