Perbezaan Antara String StringBuffer Dan StringBuilder Di Java

Isi kandungan:

Perbezaan Antara String StringBuffer Dan StringBuilder Di Java
Perbezaan Antara String StringBuffer Dan StringBuilder Di Java

Video: Perbezaan Antara String StringBuffer Dan StringBuilder Di Java

Video: Perbezaan Antara String StringBuffer Dan StringBuilder Di Java
Video: Строки в Java. String, StringBuilder, StringBuffer, Wrappers. Java Professional. Урок 5 2024, Mungkin
Anonim

Perbezaan Utama - String vs StringBuffer vs StringBuilder di Java

String, StringBuffer dan String Builder adalah kelas di Java. String banyak digunakan dalam pengaturcaraan Java. Setelah objek String dibuat, tidak mungkin mengubahnya. Setiap kali perubahan berlaku pada String, ia mencipta String baru. Walaupun ia merupakan gabungan dengan String yang ada, ia akan mencipta String baru. Ini menyebabkan pembaziran memori. Kelas StringBuffer dan StringBuilder di Java digunakan untuk mengubah String. Perbezaan utama antara String, StringBuffer dan StringBuilder di Java adalah bahawa String adalah kelas untuk membuat objek jenis String yang merupakan urutan watak, StringBuffer adalah kelas yang digunakan untuk memodifikasi String yang memberikan keselamatan thread, dan StringBuilder adalah kelas yang digunakan untuk memodifikasi String yang tidak memberikan keselamatan benang.

KANDUNGAN

1. Gambaran Keseluruhan dan Perbezaan Utama

2. Apa itu String di Java

3. Apa itu StringBuffer di Java

4. Apa itu StringBuilder di Java

5. Persamaan Antara String StringBuffer dan StringBuilder di Java

6. Perbandingan Berdampingan - String vs StringBuffer vs StringBuilder di Java dalam Jadual Tingkatan

7. Ringkasan

Apa itu String di Java?

String class ada dalam pakej java.lang. Setiap kali pengaturcara membuat String, ia adalah objek jenis String. String adalah makna tidak berubah setelah objek dibuat, ia tidak dapat diubah. Objek yang dibuat menggunakan kelas pembungkus seperti Integer, Byte, Float, Double juga tidak berubah. Huruf rentetan dilampirkan dalam petikan ganda. contohnya "Hello World". Setiap kali string dibuat, Java Virtual Machine (JVM) memeriksa kumpulan pemalar String. Sekiranya String ada, rujukan ke kumpulan pemalar String dikembalikan. Sekiranya String baru, objek itu dibuat di kumpulan pemalar String.

Perbezaan Antara String StringBuffer dan StringBuilder di Java
Perbezaan Antara String StringBuffer dan StringBuilder di Java

Gambar 01: Program Java menggunakan String, StringBuffer dan StringBuilder

Rujuk bahagian kod di bawah.

Rentetan s1 = "Helo";

s1 = s1 + "Dunia";

System.out.println (s1);

Dalam pernyataan pertama, s1 merujuk pada "Hello" di kumpulan pemalar String. Dalam pernyataan kedua, JVM tidak mengubah Rentetan yang ada. Sebagai gantinya, ia menciptakan String baru sebagai "Hello World" dan s1 sekarang merujuk kepada String baru itu. Objek "Hello" yang keluar masih ada di kumpulan pemalar String.

Sekiranya ada kod yang, Rentetan s1 = "Helo";

Rentetan s2 = s1;

s1, s2 keduanya akan merujuk pada objek String "Hello".

Apa itu StringBuffer di Java?

Kelas StringBuffer digunakan untuk membuat objek String berubah. Oleh itu, objek tersebut dapat diubahsuai. StringBuffer mentakrifkan empat pembina. StringBuffer (), StringBuffer (ukuran int), 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 pada objek "Hello" di timbunan. Objek boleh berubah kerana dibuat menggunakan StringBuffer. Dalam pernyataan 2, "Dunia" ditambahkan pada objek String "Hello" yang sama.

Objek tali yang dibuat dengan kelas StringBuffer dapat menjimatkan memori. StringBuffer memberikan keselamatan thread kerana dua utas tidak dapat mengakses kaedah yang sama di kelas StringBuffer secara serentak. Keselamatan benang menurunkan prestasi StringBuffer. Kelas StringBuffer mengandungi kaedah seperti lampiran (), masukkan (), terbalik (), ganti ().

Apa itu StringBuilder di Java?

Kelas StringBuilder digunakan untuk membuat objek String berubah. Oleh itu, objek tersebut dapat diubahsuai. Fungsinya serupa dengan StringBuffer, tetapi ini tidak memberikan keselamatan thread. StringBuilder mempunyai konstruktor seperti StringBuilder (), StringBuilder (ukuran int), StringBuilder (String str).

Rujuk kod di bawah.

StringBuilder s1 = StringBuilder baru ("Hello");

s1.append ("Dunia");

System.out.println (s1);

Dalam pernyataan 1, s1 merujuk pada objek "Hello" di timbunan. Objek boleh berubah kerana dibuat menggunakan StringBuilder. Dalam pernyataan 2, "Dunia" ditambahkan pada objek String "Hello" yang sama. Tidak ada penciptaan objek String yang sama sekali baru.

Objek tali yang dibuat dengan kelas StringBuilder dapat menjimatkan memori. Tidak seperti di StringBuffer, StringBuilder tidak memberikan keselamatan benang kerana dua utas dapat mengakses kaedah yang sama di kelas StringBuilder secara serentak. Kelas StringBuilder mengandungi kaedah seperti lampiran (), masukkan (), terbalik (), ganti ().

Apakah Kesamaan Antara String, StringBuffer dan StringBuilder di Java?

Semua boleh digunakan untuk membuat Strings

Apakah Perbezaan Antara String StringBuffer dan StringBuilder di Java?

Artikel Diff Tengah sebelum Jadual

String vs StringBuffer vs StringBuilder

Tali String adalah kelas Java yang digunakan untuk membuat objek jenis String, yang merupakan urutan watak.
StringBuffer StringBuffer adalah kelas Java yang digunakan untuk membuat objek String, yang dapat dimodifikasi dengan keselamatan benang.
StringBuilder StringBuilder adalah kelas yang digunakan untuk membuat objek rentetan, yang dapat diubahsuai tanpa keselamatan benang.
Kebolehubahan
Tali Rentetan itu adalah kelas yang tidak berubah.
StringBuffer StringBuffer adalah kelas yang boleh berubah.
StringBuilder StringBuilder adalah kelas yang boleh berubah.
Keselamatan Benang
Tali Kaedah String adalah benang yang selamat.
StringBuffer Kaedah StringBuffer selamat menggunakan benang dan disegerakkan.
StringBuilder Kaedah StringBuilder tidak diuraikan dengan selamat dan tidak diselaraskan.
Persembahan
Tali Rentetan itu pantas.
StringBuffer StringBuffer perlahan.
StringBuilder StringBuilder pantas.

Ringkasan - String vs StringBuffer vs StringBuilder di Java

String, StringBuffer dan StringBuilder nampaknya sama, tetapi mereka mempunyai makna yang berbeza. Semua ini adalah kelas Java. Perbezaan antara String, StringBuffer dan StringBuilder di Java adalah bahawa, String adalah kelas untuk membuat objek jenis String, yang merupakan sekumpulan karakter, StringBuffer adalah kelas yang digunakan untuk memodifikasi Strings dan memberikan keselamatan benang, sementara StringBuilder adalah kelas yang digunakan untuk memodifikasi Strings yang tidak memberikan keselamatan benang.

Muat turun PDF String vs StringBuffer vs StringBuilder di Java

Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian seperti dalam catatan petikan. Sila muat turun versi PDF di sini Perbezaan Antara String StringBuffer dan StringBuilder di Java

Disyorkan: