Perbezaan Antara StringBuffer dan StringBuilder String di Jawa

Perbezaan Utama - String vs StringBuffer vs StringBuilder di Jawa
 

String, StringBuffer dan String Builder adalah kelas di Jawa. String digunakan secara meluas dalam pengaturcaraan Java. Sekali objek String dibuat, tidak mungkin untuk mengubahnya. Setiap kali perubahan berlaku pada String, ia membuat String baru. Walaupun ia adalah penyambungan kepada String yang sedia ada ia mewujudkan String baru. Ini menyebabkan pembaziran memori. Kelas StringBuffer dan StringBuilder di Jawa digunakan untuk mengubah suai String. The perbezaan utama antara String, StringBuffer dan StringBuilder di Jawa adalah bahawa String adalah kelas untuk membuat objek jenis String yang merupakan urutan aksara, StringBuffer adalah kelas yang digunakan untuk mengubah suai Strings yang menyediakan keselamatan thread, dan StringBuilder adalah kelas yang digunakan untuk memodifikasi Strings yang tidak menyediakan keselamatan thread.

KANDUNGAN

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apakah String di Jawa
3. Apa itu StringBuffer di Jawa?
4. Apakah StringBuilder di Jawa?
5. Persamaan Antara StringBuffer dan StringBuilder String di Jawa
6. Side by Side Comparison - String vs StringBuffer vs StringBuilder di Java dalam Borang Tabular
7. Ringkasan

Apakah String di Jawa??

Kelas rentetan dalam pakej java.lang. Setiap kali programmer mencipta String, ia merupakan objek jenis String. Strings adalah makna tidak berubah apabila objek dicipta, ia tidak dapat diubah. Objek yang dibuat menggunakan kelas pembalut seperti Integer, Byte, Float, Double juga tidak berubah. Satu rentetan literal disertakan dalam petikan berganda. contohnya. "Hai dunia". Setiap kali rentetan literal dibuat, Mesin Maya Maya (JVM) memeriksa kolam berterusan String. Jika String wujud, rujukan kepada kolam berterusan String dikembalikan. Sekiranya ia merupakan String baru, objek tersebut dicipta dalam kolam berterusan String.

Rajah 01: Program Java menggunakan String, StringBuffer dan StringBuilder

Rujuk kod seksyen di bawah.

String s1 = "Hello";

s1 = s1 + "Dunia";

System.out.println (s1);

Dalam pernyataan pertama, s1 merujuk kepada "Hello" dalam kolam berterusan String. Dalam pernyataan kedua, JVM tidak mengubah String sedia ada. Sebaliknya, ia mewujudkan String baru sebagai "Hello World" dan s1 kini merujuk kepada String yang baru. Objek keluar "Hello" masih terdapat di kolam berterusan String.

Jika ada kod yang ada,

String s1 = "Hello";

String s2 = s1;

s1, s2 kedua-duanya akan merujuk kepada objek String "Hello".

Apakah StringBuffer di Jawa??

Kelas StringBuffer digunakan untuk membuat objek String boleh berubah. Oleh itu, objek tersebut boleh diubah suai. StringBuffer mentakrifkan empat pembina. StringBuffer (), StringBuffer (int size), StringBuffer (String str), StringBuffer (charSequence [] ch)

Rujuk kod di bawah,

StringBuffer s1 = StringBuffer baru ("Hello");

s1.append ("Dunia");

System.out.println (s1);

Dalam pernyataan 1, s1 merujuk kepada objek "Hello" dalam timbunan. Objek itu boleh berubah kerana ia dicipta menggunakan StringBuffer. Dalam pernyataan 2, "Dunia" dilampirkan pada objek "Hello" yang sama.

Objek rentetan yang dibuat dengan kelas StringBuffer boleh menyimpan ingatan. StringBuffer menyediakan keselamatan thread kerana dua benang tidak dapat mengakses kaedah yang sama dalam kelas StringBuffer secara serentak. Keselamatan Thread mengurangkan prestasi StringBuffer. Kelas StringBuffer mengandungi kaedah seperti append (), insert (), reverse (), menggantikan ().

Apakah StringBuilder di Jawa??

Kelas StringBuilder digunakan untuk membuat objek String boleh berubah. Oleh itu, objek tersebut boleh diubah suai. Fungsi ini sama dengan StringBuffer, tetapi ini tidak menyediakan keselamatan thread. StringBuilder mempunyai pembina seperti StringBuilder (), StringBuilder (int size), StringBuilder (String str).

Rujuk kod di bawah.

StringBuilder s1 = StringBuilder baru ("Hello");

s1.append ("Dunia");

System.out.println (s1);

Dalam pernyataan 1, s1 merujuk kepada objek "Hello" dalam timbunan. Objek itu boleh berubah kerana ia dibuat menggunakan StringBuilder. Dalam pernyataan 2, "Dunia" dilampirkan pada objek "Hello" yang sama. Tiada penciptaan objek String sepenuhnya baru.

Objek rentetan yang dibuat dengan kelas StringBuilder boleh menyimpan ingatan. Tidak seperti StringBuffer, StringBuilder tidak menyediakan keselamatan thread kerana dua benang boleh mengakses kaedah yang sama dalam kelas StringBuilder serentak. Kelas StringBuilder mengandungi kaedah seperti append (), insert (), reverse (), menggantikan ().

Apakah Kesamaan Antara String, StringBuffer dan StringBuilder di Jawa?

  • Semua boleh digunakan untuk membuat Strings.

Apakah Perbezaan Antara StringBuffer dan StringBuilder String di Jawa?

String vs StringBuffer vs StringBuilder

Tali Rentetan itu adalah kelas Java yang digunakan untuk membuat objek jenis String, yang merupakan urutan aksara.
StringBuffer StringBuffer adalah kelas Java yang digunakan untuk membuat objek String, yang boleh diubah suai dengan keselamatan thread.
StringBuilder StringBuilder adalah kelas yang digunakan untuk membuat objek rentetan, yang boleh diubah suai tanpa keselamatan thread.
Mutabiliti
Tali Rentetan itu adalah kelas yang tidak berubah.
StringBuffer StringBuffer adalah kelas yang boleh berubah.
StringBuilder StringBuilder adalah kelas yang boleh berubah.
Keselamatan Thread
Tali Kaedah String adalah benang selamat.
StringBuffer Kaedah StringBuffer adalah thread-safe dan disegerakkan.
StringBuilder Kaedah StringBuilder tidak disambungkan secara selamat dan tidak disegerakkan.
Prestasi
Tali Rentetan itu cepat.
StringBuffer StringBuffer lambat.
StringBuilder StringBuilder cepat.

Ringkasan - String vs StringBuffer vs StringBuilder di Jawa 

String, StringBuffer dan StringBuilder nampak sama, tetapi mereka mempunyai makna yang berbeza. Semua ini adalah kelas Java. Perbezaan antara String, StringBuffer dan StringBuilder di Java ialah, String adalah kelas untuk membuat objek jenis String, yang merupakan satu set aksara, StringBuffer adalah kelas yang digunakan untuk memodifikasi Strings dan menyediakan keselamatan thread, sementara StringBuilder adalah kelas yang digunakan untuk mengubah suai Strings yang tidak menyediakan keselamatan thread.

Muat turun PDF String vs StringBuffer vs StringBuilder di Jawa

Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian seperti nota kutipan. Sila muat turun versi PDF di sini Perbezaan Antara StringBuffer dan StringBuilder String di Jawa

Rujukan:

1. "String vs StringBuffer vs StringBuilder." JournalDev, 30 Julai 2017. Boleh didapati di sini
2. "Jawa Lapar." Perbezaan Antara String, StringBuilder dan Kelas StringBuffer dengan Contoh: Java | Java Hungry. Terdapat di sini 
3.tutorialspoint.com. "Java Strings." Tujuan itu. Terdapat di sini