Perbedaan Antara String StringBuffer dan StringBuilder di Java

Daftar Isi:

Perbedaan Antara String StringBuffer dan StringBuilder di Java
Perbedaan Antara String StringBuffer dan StringBuilder di Java

Video: Perbedaan Antara String StringBuffer dan StringBuilder di Java

Video: Perbedaan Antara String StringBuffer dan StringBuilder di Java
Video: Разница между String StringBuffer и StringBuilder в Java от Deepak 2024, November
Anonim

Perbedaan Kunci – 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. Bahkan jika itu adalah gabungan dari String yang ada, ia menciptakan sebuah String baru. Hal 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 String yang menyediakan keamanan thread, dan StringBuilder adalah class yang digunakan untuk memodifikasi String yang tidak memberikan keamanan thread.

Apa itu String di Java?

String class ada dalam paket java.lang. Setiap kali programmer membuat String, itu adalah objek bertipe String. String adalah makna 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. Sebuah literal string diapit oleh tanda kutip ganda. misalnya "Halo Dunia". Setiap kali literal string dibuat, Java Virtual Machine (JVM) memeriksa kumpulan konstanta String. Jika String ada, referensi ke kumpulan konstanta String dikembalikan. Jika itu adalah String baru, objek itu dibuat di kumpulan konstanta String.

Perbedaan Antara String StringBuffer dan StringBuilder di Java
Perbedaan Antara String StringBuffer dan StringBuilder di Java
Perbedaan Antara String StringBuffer dan StringBuilder di Java
Perbedaan Antara String StringBuffer dan StringBuilder di Java

Gambar 01: Program Java menggunakan String, StringBuffer dan StringBuilder

Lihat potongan kode di bawah ini.

String s1=“Halo”;

s1=s1 + “Dunia”;

System.out.println(s1);

Dalam pernyataan pertama, s1 mengacu pada "Halo" di kumpulan konstanta String. Dalam pernyataan kedua, JVM tidak mengubah String yang ada. Sebagai gantinya, ia membuat String baru sebagai "Hello World" dan s1 sekarang merujuk ke String baru itu. Objek "Halo" yang keluar masih ada di kumpulan konstanta 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?

StringBuffer class digunakan untuk membuat objek String bisa berubah. Oleh karena itu, objek-objek tersebut dapat dimodifikasi. StringBuffer mendefinisikan empat konstruktor. StringBuffer(), StringBuffer(int size), 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 mengacu pada objek "Halo" di heap. Objek bisa berubah karena dibuat menggunakan StringBuffer. Dalam pernyataan 2, "Dunia" ditambahkan ke objek String "Halo" yang sama.

String objek yang dibuat dengan kelas StringBuffer dapat menghemat memori. StringBuffer memberikan keamanan utas karena dua utas tidak dapat mengakses metode yang sama di kelas StringBuffer secara bersamaan. Keamanan utas menurunkan kinerja StringBuffer. Kelas StringBuffer berisi metode seperti append(), insert(), reverse(), replace().

Apa itu StringBuilder di Java?

StringBuilder class digunakan untuk membuat objek String bisa berubah. Oleh karena itu, objek-objek tersebut dapat dimodifikasi. Fungsionalitasnya 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 mengacu pada 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.

String objek yang dibuat dengan kelas StringBuilder dapat menghemat 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(), replace().

Apa Persamaan 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

String String adalah kelas Java yang digunakan untuk membuat objek bertipe String, yang merupakan urutan 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 keamanan thread.
Mutabilitas
String String adalah kelas yang tidak dapat diubah.
StringBuffer StringBuffer adalah kelas yang bisa berubah.
StringBuilder StringBuilder adalah kelas yang bisa berubah.
Keamanan Thread
String Metode String aman untuk thread.
StringBuffer Metode StringBuffer aman dan tersinkronisasi.
StringBuilder Metode StringBuilder tidak aman dan tidak tersinkronisasi.
Kinerja
String Senarnya 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 bertipe String, yang merupakan kumpulan karakter, StringBuffer adalah kelas yang digunakan untuk memodifikasi String dan memberikan keamanan thread, sedangkan StringBuilder adalah class yang digunakan untuk memodifikasi String yang tidak memberikan 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. Silakan unduh versi PDF di sini Perbedaan Antara String StringBuffer dan StringBuilder di Java

Direkomendasikan: