Razlika između String StringBuffer i StringBuilder u Javi

Ključna razlika - string vs StringBuffer vs StringBuilder na Javi
 

String, StringBuffer i String Builder su klase na Javi. Niz se široko koristi u Java programiranju. Jednom kada se stvori objekt String-a, nije ih moguće promijeniti. Svaki put kada se dogodi promjena strune, stvara novi niz. Čak i ako je pridruživanje postojećem nizu, on stvara novi niz. To uzrokuje rasipanje memorije. StringBuffer i StringBuilder klase u Javi koriste se za modificiranje Stringa. ključna razlika između String, StringBuffer i StringBuilder u Javi je to String je klasa za kreiranje objekta tipa String koji je niz znakova, StringBuffer je klasa koja se koristi za izmjenu stringova koji osiguravaju sigurnost niti, a StringBuilder je klasa koja se koristi za izmjenu stringova koji ne pružaju sigurnost niti.

SADRŽAJ

1. Pregled i ključne razlike
2. Što je string u Javi
3. Što je StringBuffer u Javi
4. Što je StringBuilder u Javi
5. Sličnosti između String StringBuffer i StringBuilder u Javi
6. Usporedna usporedba - String vs StringBuffer vs StringBuilder na Javi u tabličnom obliku
7. Sažetak

Što je string u Javi?

Klasa strune nalazi se u paketu java.lang. Svaki put kada programer stvori string, to je objekt vrste String. Nizovi su nepromjenjivi značenje jednom kada je objekt kreiran, on se ne može promijeniti. Objekti stvoreni pomoću klasa omota kao što su Integer, Byte, Float, Double također su nepromjenjivi. Pismeni niz priložen je dvostrukim navodnicima. npr "Pozdrav svijete". Svaki put kada se stvori doslovni niz, Java virtualni stroj (JVM) provjerava stalni niz Stringa. Ako string postoji, vraća se referenca na konstantni niz String. Ako se radi o novom Stringu, taj će se objekt stvoriti u stalnom nizu String.

Slika 01: Java program koji koristi String, StringBuffer i StringBuilder

Pogledajte donji dio koda.

String s1 = "Pozdrav";

s1 = s1 + "Svijet";

Sustava (s1);

U prvoj se izjavi s1 odnosi na "Pozdrav" u konstantnom bazenu Stringa. U drugoj izjavi JVM ne mijenja postojeći niz. Umjesto toga, stvara novi niz kao "Hello World", a s1 se sada odnosi na taj novi niz. Izlazni objekt "Hello" i dalje postoji u konstantnom bazenu String.

Ako postoji kod koji je,

String s1 = "Pozdrav";

Niz s2 = s1;

s1, s2 oba će se odnositi na String objekt "Hello".

Što je StringBuffer u Javi?

StringBuffer klasa koristi se za stvaranje String objekata koji se mogu mijenjati. Stoga se ti predmeti mogu mijenjati. StringBuffer definira četiri konstruktora. StringBuffer (), StringBuffer (int veličina), StringBuffer (String str), StringBuffer (charSequence [] ch)

Pogledajte kod ispod,

StringBuffer s1 = novi StringBuffer ("Pozdrav");

s1.append ( „World”);

Sustava (s1);

U izjavi 1, s1 se u gomili odnosi na objekt "Hello". Objekt je mutabilan jer je stvoren pomoću StringBuffer-a. U izjavi 2, "World" se dodaje istom objektu "Hello".

String objekti stvoreni pomoću klase StringBuffer mogu uštedjeti memoriju. StringBuffer pruža sigurnost niti jer dvije niti ne mogu istovremeno pristupiti istoj metodi u StringBuffer klasi. Sigurnost navoja smanjuje performanse StringBuffer-a. Klasa StringBuffer sadrži metode poput dodavanja (), umetanja (), obrnutog (), zamjene ().

Što je StringBuilder u Javi?

StringBuilder klasa koristi se za izradu String objekata koji se mogu mijenjati. Stoga se ti predmeti mogu mijenjati. Funkcionalnost je slična StringBuffer, ali to ne osigurava sigurnost niti. StringBuilder ima konstruktore poput StringBuilder (), StringBuilder (int size), StringBuilder (String str).

Pogledajte donji kôd.

StringBuilder s1 = novi StringBuilder ("Pozdrav");

s1.append ( „World”);

Sustava (s1);

U izjavi 1, s1 se u gomili odnosi na objekt "Hello". Objekt je mutabilan jer je stvoren pomoću StringBuilder. U izjavi 2, "World" se dodaje istom objektu "Hello". Ne postoji stvaranje potpuno novog String objekta.

String objekti stvoreni pomoću klase StringBuilder mogu uštedjeti memoriju. Za razliku od StringBuffer, StringBuilder ne osigurava sigurnost niti jer dvije niti mogu istovremeno pristupiti istoj metodi u klasi StringBuilder. Klasa StringBuilder sadrži metode poput dodavanja (), umetanja (), obrnutog (), zamjene ().

Koja je sličnost između String, StringBuffer i StringBuilder u Javi?

  • Sve se može koristiti za stvaranje žice.

Koja je razlika između String StringBuffer i StringBuilder u Javi?

String vs StringBuffer vs StringBuilder

Niz Niz je klasa Java koja se koristi za stvaranje objekta vrste String koji je niz znakova.
StringBuffer StringBuffer je klasa Java koja se koristi za stvaranje String objekata koji se mogu izmijeniti sigurnošću niti.
StringBuilder StringBuilder je klasa koja se koristi za stvaranje string-objekata koji se mogu izmijeniti bez sigurnosti niti.
promjenljivost
Niz Niz je nepromjenjiva klasa.
StringBuffer StringBuffer je klasa koja se može mijenjati.
StringBuilder StringBuilder je klasa koja se može mijenjati.
Sigurnost navoja
Niz Metode žice su sigurne niti.
StringBuffer Metode StringBuffer-a su sigurne na niti i sinkronizirane su.
StringBuilder Metode StringBuilder nisu navoje sigurne i ne sinkronizirane.
Izvođenje
Niz Niz je brz.
StringBuffer StringBuffer je spor.
StringBuilder StringBuilder je brz.

Sažetak - string vs StringBuffer vs StringBuilder na Javi 

Čini se da su stringi, StringBuffer i StringBuilder isti, ali imaju različita značenja. Sve su to klase Java. Razlika između String, StringBuffer i StringBuilder u Javi je ta što je String klasa za kreiranje objekta tipa String koji je skup znakova, StringBuffer je klasa koja se koristi za izmjenu stringova i pružanje sigurnosti niti, dok je StringBuilder a klase koja se koristi za izmjenu žica koje ne osiguravaju sigurnost niti.

Preuzmite PDF String vs StringBuffer vs StringBuilder na Javi

Možete preuzeti PDF verziju ovog članka i koristiti je za izvanmrežne svrhe, prema napomeni. Preuzmite PDF verziju ovdje Razlika između String StringBuffer i StringBuilder na Javi

Referenca:

1. "String vs StringBuffer vs StringBuilder." JournalDev, 30. srpnja 2017. Dostupno ovdje
2. "Jaja gladna." Razlika između klasa String, StringBuilder i StringBuffer s primjerom: Java | Jaja gladna. Dostupno ovdje 
3.tutorialspoint.com. "Strice Java." Točka. Dostupno ovdje