Razlika Između String StringBuffer I StringBuilder U Javi

Sadržaj:

Razlika Između String StringBuffer I StringBuilder U Javi
Razlika Između String StringBuffer I StringBuilder U Javi

Video: Razlika Između String StringBuffer I StringBuilder U Javi

Video: Razlika Između String StringBuffer I StringBuilder U Javi
Video: Java SE. Урок 27. Классы StringBuilder / StringBuffer и их методы 2024, Svibanj
Anonim

Ključna razlika - String vs StringBuffer vs StringBuilder u Javi

String, StringBuffer i String Builder su klase u Javi. String se široko koristi u Java programiranju. Jednom kada je stvoren objekt Stringa, nije ih moguće mijenjati. Svaki put kad se na stringu dogodi promjena, on stvara novi string. Čak i ako je to spajanje postojećeg Stringa, on stvara novi String. To uzrokuje gubitak memorije. StringBuffer i StringBuilder klase u Javi koriste se za izmjenu Stringa. Ključna razlika između String, StringBuffer i StringBuilder u Javi je ta što je String klasa koja stvara objekt tipa String koji je niz znakova, StringBuffer je klasa koja se koristi za modificiranje nizova koji pruža sigurnost niti, a StringBuilder je klasa koja se koristi za modificiranje žica koje ne pružaju sigurnost niti.

SADRŽAJ

1. Pregled i razlika u ključu

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 u Java u tabličnom obliku

7. Sažetak

Što je String u Javi?

String klasa je u paketu java.lang. Svaki put kad programer stvori String, on je objekt tipa String. Nizovi imaju nepromjenjivo značenje kad se objekt jednom stvori, ne može se mijenjati. Objekti stvoreni pomoću klasa omotača poput Integer, Byte, Float, Double također su nepromjenjivi. Znakovni niz zatvoren je u dvostruke navodnike. npr. “Hello World”. Svaki put kad se stvori literal niza, Java Virtual Machine (JVM) provjerava spremište konstanti String. Ako String postoji, vraća se referenca na spremište konstanti String. Ako se radi o novom Stringu, taj se objekt stvara u konstantnom spremištu String.

Razlika između String StringBuffer i StringBuilder u Javi
Razlika između String StringBuffer i StringBuilder u Javi

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

Pogledajte donji dio koda.

Niz s1 = "Pozdrav";

s1 = s1 + "Svijet";

System.out.println (s1);

U prvoj se izjavi s1 odnosi na "Zdravo" u konstantnom spremištu String. U drugoj izjavi, JVM ne mijenja postojeći String. Umjesto toga, on stvara novi niz kao "Hello World" i s1 se sada odnosi na taj novi niz. Izlazni „Hello“objekt i dalje postoji u spremištu konstanti String.

Ako postoji kôd koji je, Niz s1 = "Pozdrav";

Niz s2 = s1;

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

Što je StringBuffer u Javi?

Klasa StringBuffer koristi se kako bi String objekti postali promjenjivi. Stoga se ti objekti mogu mijenjati. StringBuffer definira četiri konstruktora. StringBuffer (), StringBuffer (int veličina), StringBuffer (String str), StringBuffer (charSequence ch)

Pogledajte donji kod, StringBuffer s1 = novi StringBuffer (“Pozdrav”);

s1.append ("Svijet");

System.out.println (s1);

U izjavi 1, s1 se odnosi na objekt "Hello" u hrpi. Objekt je promjenjiv jer je stvoren pomoću StringBuffer-a. U izjavi 2, "Svijet" je dodan istom objektu "Hello" String.

String objekti stvoreni sa StringBuffer klasom mogu uštedjeti memoriju. StringBuffer pruža sigurnost niti jer dvije niti ne mogu istovremeno pristupiti istoj metodi u klasi StringBuffer. Sigurnost niti smanjuje performanse StringBuffer-a. Klasa StringBuffer sadrži metode kao što su append (), insert (), reverse (), replace ().

Što je StringBuilder u Javi?

Klasa StringBuilder koristi se kako bi String objekti postali promjenjivi. Stoga se ti objekti mogu mijenjati. Funkcionalnost je slična StringBufferu, ali to ne osigurava sigurnost niti. StringBuilder ima konstruktore poput StringBuilder (), StringBuilder (int size), StringBuilder (String str).

Pogledajte donji kod.

StringBuilder s1 = novi StringBuilder (“Pozdrav”);

s1.append ("Svijet");

System.out.println (s1);

U izjavi 1, s1 se odnosi na objekt "Hello" u hrpi. Objekt je promjenjiv jer je stvoren pomoću StringBuilder. U izjavi 2, "Svijet" je dodan istom objektu "Hello" String. Ne postoji stvaranje potpuno novog String objekta.

String objekti stvoreni s StringBuilder klasom mogu uštedjeti memoriju. Za razliku od StringBuffer, StringBuilder ne pruža sigurnost niti jer dvije niti mogu istovremeno pristupiti istoj metodi u klasi StringBuilder. Klasa StringBuilder sadrži metode kao što su append (), insert (), reverse (), replace ().

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

Sve se mogu koristiti za stvaranje žica

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

Diff Article Sredina prije tablice

String vs StringBuffer vs StringBuilder

Niz Niz je Java klasa koja se koristi za stvaranje objekta tipa String, koji je niz znakova.
StringBuffer StringBuffer je Java klasa koja se koristi za stvaranje String objekata koji se mogu modificirati sa sigurnošću niti.
StringBuilder StringBuilder je klasa koja se koristi za stvaranje objekata niza, koji se mogu mijenjati bez sigurnosti niti.
Promjenjivost
Niz Niz je nepromjenjiva klasa.
StringBuffer StringBuffer je promjenjiva klasa.
StringBuilder StringBuilder je promjenjiva klasa.
Sigurnost navoja
Niz Metode Stringa su zaštićene nitima.
StringBuffer Metode StringBuffer-a su sigurne u nitima i sinkronizirane.
StringBuilder Metode StringBuilder-a nisu sigurne u niti i nisu sinkronizirane.
Izvođenje
Niz Niz je brz.
StringBuffer StringBuffer je spor.
StringBuilder StringBuilder je brz.

Sažetak - String vs StringBuffer vs StringBuilder u Javi

Čini se da su String, StringBuffer i StringBuilder isti, ali imaju različita značenja. Sve su to Java satovi. Razlika između String, StringBuffer i StringBuilder u Javi je u tome što je String klasa za stvaranje objekta tipa String, koji je skup znakova, StringBuffer je klasa koja se koristi za modificiranje nizova i pružanje sigurnosti niti, dok je StringBuilder klasa koja se koristi za modificiranje žica koje ne pružaju sigurnost niti.

Preuzmite PDF String vs StringBuffer vs StringBuilder na Javi

Možete preuzeti PDF verziju ovog članka i koristiti je u izvanmrežne svrhe prema napomeni. Ovdje preuzmite PDF verziju. Razlika između StringBuffer i StringBuilder na Javi

Preporučeno: