Perbedaan antara String StringBuffer dan StringBuilder di Java

Perbedaan antara String StringBuffer dan StringBuilder di Java

Perbedaan Kunci - String Vs StringBuffer vs StringBuilder di Java
 

String, StringBuffer dan String Builder adalah kelas di java. String banyak digunakan dalam pemrograman Java. Setelah objek string dibuat, tidak mungkin untuk mengubahnya. Setiap kali perubahan terjadi pada string, itu membuat string baru. Bahkan jika itu merupakan gabungan dari string yang ada, ia menciptakan string baru. Ini menyebabkan pemborosan memori. Kelas StringBuffer dan StringBuilder di Java digunakan untuk memodifikasi String. Itu perbedaan utama Antara String, StringBuffer dan StringBuilder di Java adalah itu String adalah kelas untuk membuat objek string tipe yang merupakan urutan karakter, StringBuffer adalah kelas yang digunakan untuk memodifikasi string yang memberikan keamanan utas, dan StringBuilder adalah kelas yang digunakan untuk memodifikasi string yang tidak memberikan keamanan utas.

ISI

1. Ikhtisar dan Perbedaan Utama
2. Apa string di java
3. Apa itu StringBuffer di Java
4. Apa itu StringBuilder di Java
5. Kesamaan antara String StringBuffer dan StringBuilder di Java
6. Perbandingan berdampingan - String vs StringBuffer vs StringBuilder di Java dalam bentuk tabel
7. Ringkasan

Apa string di java?

Kelas string ada di java.Paket Lang. Setiap kali programmer membuat string, itu adalah objek tipe string. String adalah makna yang tidak dapat diubah begitu objek dibuat, itu tidak dapat diubah. Objek yang dibuat menggunakan kelas pembungkus seperti integer, byte, float, double juga tidak dapat diubah. String literal tertutup dalam kutipan ganda. e.G. "Halo Dunia".  Setiap kali string literal dibuat, Java Virtual Machine (JVM) memeriksa kumpulan string konstanta. Jika string ada, referensi ke kumpulan string konstan dikembalikan. Jika itu adalah string baru, objek itu dibuat di kumpulan string konstan.

Gambar 01: Program Java Menggunakan String, StringBuffer dan StringBuilder

Rujuk bagian di bawah ini.

String s1 = "halo";

S1 = S1 + "Dunia";

Sistem.keluar.println (S1);

Dalam pernyataan pertama, S1 mengacu pada "halo" di kolam konstanta string. Dalam pernyataan kedua, JVM tidak mengubah string yang ada. Sebaliknya, itu menciptakan string baru sebagai "Hello World" dan S1 sekarang mengacu pada string baru itu. Objek "Halo" yang keluar masih ada di kumpulan string konstan.

Jika ada kode yang ada,

String s1 = "halo";

String S2 = S1;

s1, s2 keduanya akan merujuk pada objek string "halo".

Apa itu StringBuffer di Java?

Kelas StringBuffer digunakan untuk membuat objek string bisa berubah. Oleh karena itu, benda -benda itu dapat dimodifikasi. StringBuffer mendefinisikan empat konstruktor. StringBuffer (), StringBuffer (ukuran int), StringBuffer (String str), StringBuffer (CharSequence [] ch)

Rujuk kode di bawah ini,

StringBuffer S1 = StringBuffer baru ("Hello");

S1.tambahkan ("dunia");

Sistem.keluar.println (S1);

Dalam Pernyataan 1, S1 mengacu pada objek "Hello" di heap. Objek dapat berubah karena dibuat menggunakan StringBuffer. Dalam Pernyataan 2, "Dunia" ditambahkan ke objek string "halo" yang sama.

Objek String Dibuat dengan Kelas StringBuffer Dapat Menyimpan Memori. StringBuffer memberikan keamanan utas karena dua utas tidak dapat mengakses metode yang sama di kelas StringBuffer secara bersamaan. Kinerja StringBuffer Penurunan Keamanan Thread. Kelas StringBuffer berisi metode seperti append (), masukkan (), reverse (), ganti ().

Apa itu StringBuilder di Java?

Kelas StringBuilder digunakan untuk membuat objek string dapat berubah. Oleh karena itu, benda -benda itu dapat dimodifikasi. Fungsionalitasnya mirip dengan StringBuffer, tetapi ini tidak memberikan keamanan utas. StringBuilder memiliki konstruktor seperti StringBuilder (), StringBuilder (ukuran int), StringBuilder (String Str).

Rujuk kode di bawah ini.

StringBuilder S1 = New StringBuilder ("Hello");

S1.tambahkan ("dunia");

Sistem.keluar.println (S1);

Dalam Pernyataan 1, S1 mengacu pada objek "Hello" di heap. Objek dapat berubah karena dibuat menggunakan StringBuilder. Dalam Pernyataan 2, "Dunia" ditambahkan ke objek string "halo" yang sama.  Tidak ada pembuatan objek string yang sama sekali baru.

Objek String Dibuat dengan Kelas StringBuilder Dapat Menyimpan Memori. Tidak seperti di StringBuffer, StringBuilder tidak memberikan keamanan utas karena dua utas dapat mengakses metode yang sama di kelas StringBuilder secara bersamaan. Kelas StringBuilder berisi metode seperti append (), insert (), reverse (), ganti ().

Apa kesamaan antara String, StringBuffer dan StringBuilder di Java?

  • Semua dapat digunakan untuk membuat string.

Apa perbedaan antara String StringBuffer dan StringBuilder di Java?

String vs StringBuffer vs StringBuilder

Rangkaian String adalah kelas Java yang digunakan untuk membuat objek tipe string, yang merupakan urutan karakter.
StringBuffer StringBuffer adalah kelas Java yang digunakan untuk membuat objek string, yang dapat dimodifikasi dengan keamanan utas.
StringBuilder StringBuilder adalah kelas yang digunakan untuk membuat objek string, yang dapat dimodifikasi tanpa keamanan utas.
Mutabilitas
Rangkaian String adalah kelas yang tidak dapat diubah.
StringBuffer StringBuffer adalah kelas yang bisa berubah.
StringBuilder StringBuilder adalah kelas yang bisa berubah.
Keamanan utas
Rangkaian Metode string adalah utas aman.
StringBuffer Metode StringBuffer aman dan disinkronkan.
StringBuilder Metode StringBuilder tidak berulir aman dan tidak disinkronkan.
Pertunjukan
Rangkaian Stringnya cepat.
StringBuffer StringBuffer lambat.
StringBuilder StringBuilder cepat.

Ringkasan -String Vs StringBuffer vs StringBuilder di Java 

String, StringBuffer dan StringBuilder tampaknya sama, tetapi mereka memiliki makna yang berbeda. Semua ini adalah kelas Java. Perbedaan antara String, StringBuffer dan StringBuilder di Java adalah bahwa, String adalah kelas untuk membuat objek string tipe, yang merupakan satu set karakter, StringBuffer adalah kelas yang digunakan untuk memodifikasi string dan memberikan keamanan utas, sedangkan StringBuilder adalah a kelas yang digunakan untuk memodifikasi string yang tidak memberikan keamanan utas.

Unduh PDF String vs StringBuffer vs StringBuilder di Java

Anda dapat mengunduh versi PDF artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silakan unduh versi pdf di sini perbedaan antara String StringBuffer dan StringBuilder di Java

Referensi:

1.“String vs StringBuffer vs StringBuilder.”Journaldev, 30 Juli 2017. Tersedia disini
2.“Java lapar.”Perbedaan antara string, stringBuilder dan stringBuffer kelas dengan contoh: java | Java lapar. Tersedia disini 
3.TutorialSpoint.com. “Java Strings." Inti nya. Tersedia disini