String, StringBuffer dan String Builder adalah kelas di Java. String digunakan secara meluas dalam pengaturcaraan Java. Sebaik sahaja objek rentetan dibuat, tidak mungkin untuk mengubahnya. Setiap kali perubahan berlaku pada rentetan, ia menghasilkan rentetan baru. Walaupun ia adalah penyambungan kepada rentetan yang ada, ia membuat rentetan baru. Ini menyebabkan pembaziran memori. Kelas StringBuffer dan StringBuilder di Java digunakan untuk mengubah suai rentetan. The Perbezaan utama Antara String, StringBuffer dan StringBuilder di Java adalah bahawa String adalah kelas untuk membuat objek rentetan jenis yang merupakan urutan aksara, StringBuffer adalah kelas yang digunakan untuk mengubah suai rentetan yang menyediakan keselamatan benang, dan StringBuilder adalah kelas yang digunakan untuk mengubah suai rentetan yang tidak memberikan keselamatan benang.
1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa itu rentetan di Java
3. Apa itu StringBuffer di Java
4. Apa itu StringBuilder di Java
5. Persamaan antara StringBuffer String dan StringBuilder di Java
6. Perbandingan sampingan - String vs StringBuffer vs StringBuilder dalam Java dalam bentuk jadual
7. Ringkasan
Kelas String ada di Java.Pakej Lang. Setiap kali pengaturcara mencipta rentetan, ia adalah objek rentetan jenis. Rentetan makna yang tidak berubah apabila objek dibuat, ia tidak dapat diubah. Objek yang dibuat menggunakan kelas pembalut seperti integer, byte, float, double juga tidak berubah. Rentetan literal tertutup dalam petikan berganda. e.g. "Hai dunia". Setiap kali rentetan literal dibuat, Mesin Maya Java (JVM) menyemak kolam tetap rentetan. Sekiranya rentetan wujud, rujukan kepada kolam tetap rentetan dikembalikan. Sekiranya ia adalah rentetan baru, objek itu dibuat di kolam rentetan rentetan.
Rajah 01: Program Java Menggunakan String, StringBuffer dan StringBuilder
Rujuk sekeping kod di bawah.
String S1 = "Hello";
S1 = S1 + "Dunia";
Sistem.keluar.println (s1);
Dalam pernyataan pertama, S1 merujuk kepada "hello" di kolam rentetan rentetan. Dalam pernyataan kedua, JVM tidak mengubah rentetan yang ada. Sebaliknya, ia mewujudkan rentetan baru sebagai "Hello World" dan S1 kini merujuk kepada rentetan baru itu. Objek "hello" keluar masih ada di kolam rentetan rentetan.
Sekiranya terdapat kod yang,
String S1 = "Hello";
String S2 = S1;
s1, s2 kedua -duanya akan merujuk kepada objek rentetan "hello".
Kelas StringBuffer digunakan untuk membuat objek rentetan. Oleh itu, objek tersebut dapat diubah suai. StringBuffer mentakrifkan empat pembina. StringBuffer (), StringBuffer (saiz int), StringBuffer (String str), StringBuffer (ChareSequence [] ch)
Rujuk kod di bawah,
StringBuffer S1 = StringBuffer baru ("Hello");
s1.tambah ("dunia");
Sistem.keluar.println (s1);
Dalam pernyataan 1, s1 merujuk kepada objek "hello" dalam timbunan. Objeknya boleh berubah kerana ia dibuat menggunakan stringbuffer. Dalam Pernyataan 2, "Dunia" dilampirkan kepada objek String "Hello" yang sama.
Objek rentetan yang dibuat dengan kelas stringbuffer dapat menjimatkan memori. StringBuffer menyediakan keselamatan benang kerana dua benang tidak dapat mengakses kaedah yang sama dalam kelas stringbuffer secara serentak. Keselamatan Thread Kurangkan Prestasi StringBuffer. Kelas StringBuffer mengandungi kaedah seperti tambahan (), masukkan (), terbalik (), ganti ().
Kelas StringBuilder digunakan untuk membuat objek rentetan. Oleh itu, objek tersebut dapat diubah suai. Fungsiannya serupa dengan StringBuffer, tetapi ini tidak memberikan keselamatan benang. StringBuilder mempunyai pembina seperti StringBuilder (), StringBuilder (Int Size), StringBuilder (String str).
Rujuk kod di bawah.
StringBuilder S1 = New StringBuilder ("Hello");
s1.tambah ("dunia");
Sistem.keluar.println (s1);
Dalam pernyataan 1, s1 merujuk kepada objek "hello" dalam timbunan. Objeknya boleh berubah kerana ia dibuat menggunakan StringBuilder. Dalam Pernyataan 2, "Dunia" dilampirkan kepada objek String "Hello" yang sama. Tidak ada penciptaan objek rentetan yang benar -benar baru.
Objek String yang Dibuat dengan Kelas StringBuilder Dapat Menyimpan Memori. Tidak seperti di StringBuffer, StringBuilder tidak memberikan keselamatan benang kerana dua benang dapat mengakses kaedah yang sama dalam kelas StringBuilder secara serentak. Kelas StringBuilder mengandungi kaedah seperti tambahan (), masukkan (), terbalik (), ganti ().
String vs StringBuffer vs StringBuilder | |
Tali | Rentetan adalah kelas Java yang digunakan untuk membuat objek rentetan jenis, yang merupakan urutan aksara. |
StringBuffer | StringBuffer adalah kelas Java yang digunakan untuk membuat objek rentetan, yang boleh diubah suai dengan keselamatan benang. |
StringBuilder | StringBuilder adalah kelas yang digunakan untuk membuat objek rentetan, yang boleh diubah suai tanpa keselamatan benang. |
Mutabiliti | |
Tali | Rentetan adalah kelas yang tidak berubah. |
StringBuffer | StringBuffer adalah kelas yang boleh berubah. |
StringBuilder | StringBuilder adalah kelas yang boleh berubah. |
Keselamatan Thread | |
Tali | Kaedah rentetan adalah benang selamat. |
StringBuffer | Kaedah StringBuffer adalah benang selamat dan disegerakkan. |
StringBuilder | Kaedah StringBuilder tidak selamat dan tidak disegerakkan. |
Prestasi | |
Tali | Rentetannya pantas. |
StringBuffer | Stringbuffer perlahan. |
StringBuilder | StringBuilder cepat. |
String, StringBuffer dan StringBuilder nampaknya sama, tetapi mereka mempunyai makna yang berbeza. Semua ini adalah kelas java. Perbezaan antara rentetan, stringbuffer dan stringbuilder di java adalah bahawa, rentetan adalah kelas untuk membuat objek jenis rentetan, yang merupakan satu set aksara, StringBuffer adalah kelas yang digunakan untuk mengubahsuai rentet kelas yang digunakan untuk mengubah suai rentetan yang tidak memberikan keselamatan benang.
Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian mengikut nota petikan. Sila muat turun versi PDF di sini perbezaan antara StringBuffer String dan StringBuilder di Java
1."String vs stringbuffer vs stringbuilder."JournalDev, 30 Julai 2017. Terdapat di sini
2."Java lapar."Perbezaan antara String, StringBuilder dan StringBuffer Kelas dengan Contoh: Java | Java lapar. Terdapat di sini
3.TutorialSpoint.com. "Java Strings." Tujuan itu. Terdapat di sini