Diferența Dintre StringBuffer și StringBuilder în Java

Cuprins:

Diferența Dintre StringBuffer și StringBuilder în Java
Diferența Dintre StringBuffer și StringBuilder în Java

Video: Diferența Dintre StringBuffer și StringBuilder în Java

Video: Diferența Dintre StringBuffer și StringBuilder în Java
Video: Java SE. Урок 27. Классы StringBuilder / StringBuffer и их методы 2024, Decembrie
Anonim

Diferența cheie - String vs StringBuffer vs StringBuilder în Java

String, StringBuffer și String Builder sunt clase în Java. Șirul este utilizat pe scară largă în programarea Java. Odată ce un obiect al șirului este creat, nu este posibil să le schimbați. De fiecare dată când apare o modificare a șirului, acesta creează un șir nou. Chiar dacă este o concatenare cu un șir existent, acesta creează un șir nou. Acest lucru provoacă irosirea memoriei. Clasele StringBuffer și StringBuilder din Java sunt utilizate pentru a modifica String. Diferența cheie între String, StringBuffer și StringBuilder în Java este că String este o clasă pentru a crea un obiect de tip String care este o secvență de caractere, StringBuffer este o clasă care este utilizată pentru a modifica Șiruri care asigură siguranța firelor, iar StringBuilder este un clasă care este utilizată pentru a modifica Șiruri care nu asigură siguranța firelor.

CUPRINS

1. Prezentare generală și diferența cheie

2. Ce este String în Java

3. Ce este StringBuffer în Java

4. Ce este StringBuilder în Java

5. Asemănări între String StringBuffer și StringBuilder în Java

6. Comparare Side by Side - String vs StringBuffer vs StringBuilder în Java în formă tabulară

7. Rezumat

Ce este șirul în Java?

Clasa de șiruri se află în pachetul java.lang. De fiecare dată când programatorul creează un șir, este un obiect de tip șir. Șirurile au semnificație imuabilă odată ce obiectul este creat, nu poate fi schimbat. Obiectele create folosind clase de împachetare precum Integer, Byte, Float, Double sunt, de asemenea, imuabile. Un literal șir este inclus în ghilimele duble. de exemplu „Hello World”. De fiecare dată când este creat un șir literal, mașina virtuală Java (JVM) verifică pool-ul constant de șiruri. Dacă șirul există, se returnează o referință la rezerva constantă de șiruri. Dacă este un șir nou, acel obiect este creat în piscina constantă de șiruri.

Diferența dintre StringBuffer și StringBuilder în Java
Diferența dintre StringBuffer și StringBuilder în Java

Figura 01: Program Java folosind String, StringBuffer și StringBuilder

Consultați codul de mai jos.

Șirul s1 = „Bună ziua”;

s1 = s1 + „Lumea”;

System.out.println (s1);

În prima afirmație, s1 se referă la „Bună ziua” din piscina constantă String. În a doua afirmație, JVM nu schimbă șirul existent. În schimb, creează un nou șir ca „Hello World”, iar s1 se referă acum la acel nou șir. Obiectul „Hello” care iese încă există în piscina constantă String.

Dacă există un cod care este, Șirul s1 =”Bună ziua”;

Șirul s2 = s1;

s1, s2 ambele se vor referi la obiectul String „Hello”.

Ce este StringBuffer în Java?

Clasa StringBuffer este utilizată pentru a face obiectele String mutabile. Prin urmare, aceste obiecte pot fi modificate. StringBuffer definește patru constructori. StringBuffer (), StringBuffer (dimensiunea int), StringBuffer (String str), StringBuffer (charSequence ch)

Consultați codul de mai jos, StringBuffer s1 = StringBuffer nou („Bună ziua”);

s1.append („Lumea”);

System.out.println (s1);

În declarația 1, s1 se referă la obiectul „Bună ziua” dintr-o grămadă. Obiectul poate fi modificat deoarece este creat folosind StringBuffer. În declarația 2, „Lumea” este atașată aceluiași obiect „Bună ziua”.

Obiectele șir create cu clasa StringBuffer pot economisi memorie. StringBuffer oferă siguranță firului deoarece două fire nu pot accesa aceeași metodă în clasa StringBuffer simultan. Siguranța firului scade performanța StringBuffer. Clasa StringBuffer conține metode cum ar fi append (), insert (), reverse (), replace ().

Ce este StringBuilder în Java?

Clasa StringBuilder este utilizată pentru a face obiectele String mutabile. Prin urmare, aceste obiecte pot fi modificate. Funcționalitatea este similară cu StringBuffer, dar aceasta nu asigură siguranța firelor. StringBuilder are constructori precum StringBuilder (), StringBuilder (dimensiunea int), StringBuilder (String str).

Consultați codul de mai jos.

StringBuilder s1 = new StringBuilder („Bună ziua”);

s1.append („Lumea”);

System.out.println (s1);

În declarația 1, s1 se referă la obiectul „Bună ziua” dintr-o grămadă. Obiectul este modificabil deoarece este creat folosind StringBuilder. În declarația 2, „Lumea” este atașată aceluiași obiect „Bună ziua”. Nu există nicio creație de obiect String complet nou.

Obiectele șir create cu clasa StringBuilder pot economisi memorie. Spre deosebire de StringBuffer, StringBuilder nu oferă siguranța firelor, deoarece două fire pot accesa aceeași metodă în clasa StringBuilder simultan. Clasa StringBuilder conține metode cum ar fi append (), insert (), reverse (), replace ().

Care este asemănarea dintre String, StringBuffer și StringBuilder în Java?

Toate pot fi folosite pentru a crea șiruri

Care este diferența dintre StringBuffer și StringBuilder în Java?

Difuzarea articolului din mijloc înainte de tabel

String vs StringBuffer vs StringBuilder

Şir Șirul este o clasă Java care este utilizată pentru a crea un obiect de tip String, care este o secvență de caractere.
StringBuffer StringBuffer este o clasă Java care este utilizată pentru a crea obiecte String, care pot fi modificate cu siguranță thread.
StringBuilder StringBuilder este o clasă care este utilizată pentru a crea obiecte șir, care pot fi modificate fără siguranța firelor.
Mutabilitate
Şir Șirul este o clasă imuabilă.
StringBuffer StringBuffer este o clasă mutabilă.
StringBuilder StringBuilder este o clasă mutabilă.
Siguranța firului
Şir Metodele String sunt sigure pentru fire.
StringBuffer Metodele StringBuffer sunt sigure la fire și sincronizate.
StringBuilder Metodele lui StringBuilder nu sunt sigure și nu sunt sincronizate.
Performanţă
Şir Șirul este rapid.
StringBuffer StringBuffer este lent.
StringBuilder StringBuilder este rapid.

Rezumat - String vs StringBuffer vs StringBuilder în Java

String, StringBuffer și StringBuilder par a fi aceleași, dar au semnificații diferite. Toate acestea sunt clase Java. Diferența dintre String, StringBuffer și StringBuilder în Java este că, String este clasă pentru a crea un obiect de tip String, care este un set de caractere, StringBuffer este o clasă care este utilizată pentru a modifica Șiruri și pentru a asigura siguranța firelor, în timp ce StringBuilder este un clasă care este utilizată pentru a modifica șirurile care nu asigură siguranța firelor.

Descărcați PDF String vs StringBuffer vs StringBuilder în Java

Puteți descărca versiunea PDF a acestui articol și o puteți folosi în scopuri offline, conform notei de citare. Vă rugăm să descărcați versiunea PDF aici Diferența dintre StringBuffer și StringBuilder în Java

Recomandat: