Perbedaan Utama - String vs StringBuffer vs StringBuilder di Java
String, StringBuffer dan String Builder adalah kelas-kelas di Java. String banyak digunakan dalam pemrograman Java. Setelah objek String dibuat, tidak mungkin untuk mengubahnya. Setiap kali terjadi perubahan pada String, itu membuat String baru. Meskipun ini adalah penggabungan ke String yang sudah ada, itu membuat String baru. Ini menyebabkan pemborosan memori. Kelas StringBuffer dan StringBuilder di Java digunakan untuk memodifikasi String. Perbedaan utama antara String, StringBuffer dan StringBuilder di Java adalah bahwa String adalah kelas untuk membuat objek bertipe String yang merupakan urutan karakter, StringBuffer adalah kelas yang digunakan untuk memodifikasi Strings yang menyediakan keamanan utas, dan StringBuilder adalah kelas yang digunakan untuk memodifikasi String yang tidak menyediakan keamanan thread.
ISI
1. Gambaran Umum dan Perbedaan Utama
2. Apa itu String di Java
3. Apa itu StringBuffer di Java
4. Apa Itu StringBuilder di Java
5. Persamaan Antara StringBuffer dan StringBuilder di Java
6. Perbandingan Berdampingan - String vs StringBuffer vs StringBuilder di Java dalam Bentuk Tabular
7. Ringkasan
Apa itu String di Java?
Kelas string ada dalam paket java.lang. Setiap kali programmer membuat String, itu adalah objek bertipe String. String adalah arti yang tidak dapat diubah setelah objek dibuat, itu tidak dapat diubah. Objek yang dibuat menggunakan kelas pembungkus seperti Integer, Byte, Float, Double juga tidak dapat diubah. Literal string diapit tanda kutip ganda. misalnya "Halo Dunia". Setiap kali string literal dibuat, Java Virtual Machine (JVM) memeriksa kumpulan konstan String. Jika String ada, referensi ke kumpulan konstan String dikembalikan. Jika itu adalah String baru, objek itu dibuat di kumpulan konstan String.
Gambar 01: Program Java menggunakan String, StringBuffer dan StringBuilder
Lihat bagian kode di bawah ini.
String s1 = “Halo”;
s1 = s1 + "Dunia";
System.out.println (s1);
Dalam pernyataan pertama, s1 mengacu pada "Halo" di kumpulan konstan String. Pada pernyataan kedua, JVM tidak mengubah String yang ada. Sebagai gantinya, ini membuat String baru sebagai "Hello World" dan s1 sekarang merujuk ke String baru tersebut. Objek "Halo" yang keluar masih ada di kumpulan konstan String.
Jika ada kode yang, String s1 = "Halo";
String s2 = s1;
s1, s2 keduanya akan merujuk ke objek String "Halo".
Apa itu StringBuffer di Java?
Kelas StringBuffer digunakan untuk membuat objek String bisa berubah. Oleh karena itu, objek tersebut dapat dimodifikasi. StringBuffer mendefinisikan empat konstruktor. StringBuffer (), StringBuffer (ukuran int), StringBuffer (String str), StringBuffer (charSequence ch)
Lihat kode di bawah ini, StringBuffer s1 = new StringBuffer (“Halo”);
s1.append ("Dunia");
System.out.println (s1);
Dalam pernyataan 1, s1 merujuk ke objek "Halo" di heap. Objek bisa berubah karena dibuat menggunakan StringBuffer. Dalam pernyataan 2, "Dunia" ditambahkan ke objek String "Halo" yang sama.
Objek string yang dibuat dengan kelas StringBuffer dapat menghemat memori. StringBuffer menyediakan keamanan thread karena dua thread tidak dapat mengakses metode yang sama di kelas StringBuffer secara bersamaan. Keamanan benang menurunkan kinerja StringBuffer. Kelas StringBuffer berisi metode seperti append (), insert (), reverse (), replace ().
Apa itu StringBuilder di Java?
Kelas StringBuilder digunakan untuk membuat objek String bisa berubah. Oleh karena itu, objek tersebut dapat dimodifikasi. Fungsinya mirip dengan StringBuffer, tetapi ini tidak memberikan keamanan utas. StringBuilder memiliki konstruktor seperti StringBuilder (), StringBuilder (int size), StringBuilder (String str).
Lihat kode di bawah ini.
StringBuilder s1 = new StringBuilder (“Halo”);
s1.append ("Dunia");
System.out.println (s1);
Dalam pernyataan 1, s1 merujuk ke objek "Halo" di heap. Objek bisa berubah karena dibuat menggunakan StringBuilder. Dalam pernyataan 2, "Dunia" ditambahkan ke objek String "Halo" yang sama. Tidak ada pembuatan objek String yang benar-benar baru.
Objek string yang dibuat dengan kelas StringBuilder dapat menghemat memori. Tidak seperti di StringBuffer, StringBuilder tidak menyediakan keamanan thread karena dua thread dapat mengakses metode yang sama di kelas StringBuilder secara bersamaan. Kelas StringBuilder berisi metode seperti append (), insert (), reverse (), replace ().
Apa Persamaan Antara String, StringBuffer dan StringBuilder di Java?
Semua dapat digunakan untuk membuat String
Apa Perbedaan Antara StringBuffer dan StringBuilder di Java?
Artikel Diff Tengah sebelum Tabel
String vs StringBuffer vs StringBuilder |
|
Tali | String adalah kelas Java yang digunakan untuk membuat objek berjenis String, yang merupakan rangkaian karakter. |
StringBuffer | StringBuffer adalah kelas Java yang digunakan untuk membuat objek String, yang dapat dimodifikasi dengan keamanan thread. |
StringBuilder | StringBuilder adalah kelas yang digunakan untuk membuat objek string, yang dapat dimodifikasi tanpa pengaman thread. |
Mutabilitas | |
Tali | String adalah kelas yang tidak bisa diubah. |
StringBuffer | StringBuffer adalah kelas yang bisa berubah. |
StringBuilder | StringBuilder adalah kelas yang bisa berubah. |
Keamanan Benang | |
Tali | Metode String aman untuk thread. |
StringBuffer | Metode StringBuffer aman untuk thread dan disinkronkan. |
StringBuilder | Metode StringBuilder tidak aman berulir dan tidak disinkronkan. |
Performa | |
Tali | Benangnya cepat. |
StringBuffer | StringBuffer lambat. |
StringBuilder | StringBuilder cepat. |
Ringkasan - String vs StringBuffer vs StringBuilder di Java
String, StringBuffer dan StringBuilder tampaknya sama, tetapi memiliki arti yang berbeda. Semua ini adalah kelas Java. Perbedaan antara String, StringBuffer dan StringBuilder di Java adalah, String adalah kelas untuk membuat objek berjenis String, yang merupakan sekumpulan karakter, StringBuffer adalah kelas yang digunakan untuk memodifikasi Strings dan memberikan keamanan thread, sedangkan StringBuilder adalah kelas yang digunakan untuk memodifikasi String yang tidak menyediakan keamanan thread.
Unduh PDF String vs StringBuffer vs StringBuilder di Java
Anda dapat mengunduh versi PDF dari artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silahkan download versi PDF disini Perbedaan Antara StringBuffer dan StringBuilder di Java