StringBuffer Java cu exemple de metode

StringBuffer în Java este o secvență de caractere mutabile în condiții de siguranță fir, folosind astfel clasa StringBuffer puteți crea obiecte șir modificabile.

în șirul post din Java am văzut deja că obiectele String sunt imuabile, adică șirurile sunt constante; valorile lor nu pot fi modificate după ce sunt create. Din cauza acestei proprietăți imutabilitate atunci când utilizați o metodă de modificare șir ca concatenare ceea ce se întâmplă de fapt este că un nou șir este creat și returnat care conține rezultatul operației. Acest lucru poate duce la crearea de o mulțime de obiecte de șir intermediar dacă șirul este modificat de mai multe ori, ceea ce înseamnă, la rândul său, mai multă memorie utilizată pentru aceste obiecte intermediare.

folosind StringBuffer obiect puteți evita această problemă de a crea mai multe obiecte, deoarece este mutabil. În mod surprinzător, principalele operațiuni pe un StringBuffer sunt metodele de adăugare și inserare.

cuprins
  1. puncte importante despre Java StringBuffer
  2. Java StringBuffer Constructori
  3. Exemple de metode Java StringBuffer

puncte importante despre Java StringBuffer

unele dintre punctele importante despre Java StringBuffer clasa StringBuffer.StringBuffer în Java oferă o mare parte din funcționalitatea clasei String cu o abatere proeminentă că StringBuffer este mutabil.

  • StringBuffer este, de asemenea, fir-safe astfel StringBuffer obiect poate fi utilizat în condiții de siguranță de mai multe fire. Metodele clasei StringBuffer sunt sincronizate acolo unde este necesar.
  • fiecare StringBuffer este creat cu o capacitate. Atâta timp cât lungimea secvenței de caractere conținute în tamponul de șir nu depășește capacitatea, nu este necesar să se aloce o nouă matrice tampon internă. Dacă tamponul intern se revarsă, acesta este automat mărit.
  • Java 5 mai departe StringBuilder clasa este, de asemenea, prevăzută, care este echivalent cu clasa StringBuffer, dar concepute pentru a fi utilizate de către un singur fir. StringBuilder este mai rapid, deoarece efectuează nici o sincronizare.
  • Java StringBuffer Constructori

    există patru constructori din clasa StringBuffer.StringBuffer () – construiește un tampon șir fără caractere în ea și o capacitate inițială de 16 caractere.

    StringBuffer sb = new StringBuffer();
  • StringBuffer(capacitate int)– construiește un tampon de șir fără caractere în el și capacitatea inițială specificată.
    StringBuffer sb = new StringBuffer(30);
  • StringBuffer(CharSequence seq)– construiește un tampon de șir care conține aceleași caractere ca CharSequence specificat.
    aici CharSequence este o interfață care este implementată de CharBuffer, Segment, String, StringBuffer, StringBuilder.
  • StringBuffer(String str)– construiește un tampon de șir inițializat la conținutul șirului specificat.
    StringBuffer sb = new StringBuffer("Hello");
  • Exemple de metode Java StringBuffer

    metoda append

    metoda append este supraîncărcată astfel încât să accepte date de orice tip. Această metodă adaugă reprezentarea șir de tipul de date dat la tampon existent. Metoda append adaugă întotdeauna aceste caractere la sfârșitul buffer-ului.

    public class StringLiteral { public static void main(String args) { StringBuffer sb = new StringBuffer("Hello"); sb.append(" "); sb.append("World").append(" ").append(123); System.out.println("Appended String- " + sb.toString()); }}

    ieșire

    Appended String- Hello World 123

    după cum puteți vedea din exemplul anexei este folosit cu șir ca argument și, de asemenea, int ca argument, deoarece este supraîncărcat pentru aceste tipuri de date. De asemenea, puteți adăuga în lanț metoda ca făcut în această linie de cod-

    sb.append("World").append(" ").append(123)

    folosind metoda append putem verifica, de asemenea, afirmația că șirul este imuabil în cazul în care ca StringBuffer este mutabil. În exemplul un obiect StringBuffer este creat și apoi valorile sunt anexate la acesta și referința returnat este stocat într-un alt StringBuffer.

    în același mod în care este creat un șir și valorile anexate la acesta, șirul returnat este, de asemenea, referit de un alt șir.

    la verificarea egalității a două referințe StringBuffer puteți vedea că ambele sunt aceleași, în timp ce pentru String ambele sunt diferite.

    public class StringLiteral {public static void main(String args) {// With StringBufferSystem.out.println("StringBuffer...");StringBuffer sb = new StringBuffer("Hello");sb.append(" ");StringBuffer newsb = sb.append("World").append(" ").append(123);if (sb == newsb) {System.out.println("Reference is same");}else {System.out.println("Reference is different");}// With StringSystem.out.println("String...");String str = "Hello";String newstr = str.concat(" ").concat("World").concat(" ").concat("123");if (str == newstr) {System.out.println("Reference is same");}else {System.out.println("Reference is different");}}}

    ieșire

    StringBuffer...Reference is sameString...Reference is different

    metoda de inserare

    metoda de inserare este supraîncărcată astfel încât să accepte date de orice tip. Această metodă este utilizată pentru a insera reprezentarea șirului tipului de date dat în tamponul existent. Metoda Inserare adaugă caracterele la un punct specificat.

    metoda Inserare ia două argumente mai întâi un număr întreg care indică poziția în care caracterele urmează să fie inserate în tampon și al doilea argument este textul care urmează să fie inserat.

    public class StringLiteral { public static void main(String args) { StringBuffer sb = new StringBuffer("Knp"); sb.insert(3, "Code"); System.out.println("String after insert- " + sb); }}

    ieșire

    String after insert- KnpCode

    lungime și capacitate metode

    capacitate()– returnează capacitatea curentă a StringBuffer.

    length()– returnează numărul de caractere din această secvență.

    public class StringLiteral { public static void main(String args) { StringBuffer sb = new StringBuffer(30); sb.append("Hello"); System.out.println("Capacity of StringBuffer- " + sb.capacity()); System.out.println("Length of StringBuffer- " + sb.length()); }}

    ieșire

    Capacity of StringBuffer- 30Length of StringBuffer- 5

    după cum puteți vedea, StringBuffer este creat cu capacitatea de 30, astfel încât capacitatea este afișată ca 30, unde numărul de caractere din tampon este 5, astfel încât lungimea este afișată ca 5.

    delete and deleteCharAt methods

    • delete(int start, int end)– elimină caracterele dintr-un subșir al acestei secvențe. start care indică indicele de început este inclusiv unde ca sfârșit care indică indicele de sfârșit este exclusiv.
    • deleteCharAt (index int) – elimină caracterul în poziția specificată în această secvență.
    public class StringLiteral { public static void main(String args) { StringBuffer sb = new StringBuffer("Hello"); sb.delete(1, 4); System.out.println("After deletion- " + sb); System.out.println("Length of StringBuffer- " + sb.length()); }}

    ieșire

    After deletion- HoLength of StringBuffer- 2
    public class StringLiteral {public static void main(String args) {StringBuffer sb = new StringBuffer("Hello");sb.deleteCharAt(4);System.out.println("After deletion- " + sb);System.out.println("Length of StringBuffer- " + sb.length());}}

    ieșire

    After deletion- HellLength of StringBuffer- 4

    Java StringBuffer metoda inversă

    reverse()– inversează StringBuffer existent.

    public class StringLiteral {public static void main(String args) {StringBuffer sb = new StringBuffer("Hello");System.out.println("Reversed- " + sb.reverse());}}

    ieșire

    Reversed- olleH

    java StringBuffer înlocuiește metoda

    înlocuiți(int start, int end, String str)– înlocuiește caracterele dintr-un subșir al acestei secvențe (start până la sfârșit-1) cu caractere din șirul specificat.

    public class StringLiteral {public static void main(String args) {StringBuffer sb = new StringBuffer("Hello");sb.replace(3, 5, "ena");System.out.println("String- " + sb);}}

    ieșire

    String- Helena
    • Java StringBuilder cu exemple de metode
    • De ce String este imuabil în Java
    • este Java șir fir în condiții de siguranță
    • java șir intern() metoda
    • java șir split() metoda
    • șiruri compacte în Java 9
    • găsiți lungimea șirului fără a utiliza metoda Length() în Java
    • convertiți Char în șir și string în Char în Java

    asta e tot pentru subiectul java StringBuffer cu exemple de metode. Dacă lipsește ceva sau aveți ceva de împărtășit despre subiect, vă rugăm să scrieți un comentariu.

    S-ar putea să vă placă și

    Lasă un răspuns

    Adresa ta de email nu va fi publicată.