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.
- puncte importante despre Java StringBuffer
- Java StringBuffer Constructori
- 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.
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 sb = new StringBuffer(30);
aici CharSequence este o interfață care este implementată de CharBuffer, Segment, String, StringBuffer, StringBuilder.
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