Clasa Java StringBuffer este folosită pentru a crea obiecte String modificabile (modificabile). Clasa StringBuffer în Java este aceeași cu clasa String, cu excepția faptului că este mutabilă, adică poate fi modificată.
Notă: Clasa Java StringBuffer este sigură pentru fire, adică mai multe fire nu o pot accesa simultan. Deci este sigur și va avea ca rezultat o comandă.
Constructori importanți ai clasei StringBuffer
Constructor | Descriere |
---|---|
StringBuffer() | Acesta creează un buffer String gol cu capacitatea inițială de 16. |
StringBuffer(String str) | Acesta creează un buffer String cu șirul specificat.. |
StringBuffer (capacitate int) | Acesta creează un buffer String gol cu capacitatea specificată ca lungime. |
Metode importante ale clasei StringBuffer
Modificator și tip | Metodă | Descriere |
---|---|---|
StringBuffer public sincronizat | adaugă (șir s) | Este folosit pentru a adăuga șirul specificat cu acest șir. Metoda append() este supraîncărcată ca append(char), append(boolean), append(int), append(float), append(double) etc. |
StringBuffer public sincronizat | insert(int offset, String s) | Este folosit pentru a introduce șirul specificat cu acest șir în poziția specificată. Metoda insert() este supraîncărcată ca insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) etc. |
StringBuffer public sincronizat | înlocuiți(int startIndex, int endIndex, String str) | Este folosit pentru a înlocui șirul de la startIndex și endIndex specificate. |
StringBuffer public sincronizat | delete(int startIndex, int endIndex) | Este folosit pentru a șterge șirul din startIndex și endIndex specificate. |
StringBuffer public sincronizat | verso() | este folosit pentru a inversa șirul. |
public int | capacitate() | Este folosit pentru a returna capacitatea curentă. |
vid public | asigurăCapacity(int minimumCapacity) | Este folosit pentru a asigura o capacitate cel puțin egală cu minimul dat. |
public char | charAt(index int) | Este folosit pentru a returna caracterul la poziția specificată. |
public int | lungime() | Este folosit pentru a returna lungimea șirului, adică numărul total de caractere. |
public String | subșir (int beginIndex) | Este folosit pentru a returna subșirul de la beginIndex specificat. |
public String | substring(int beginIndex, int endIndex) | Este folosit pentru a returna subșirul de la beginIndex și endIndex specificate. |
Ce este un șir mutabil?
Un șir care poate fi modificat sau schimbat este cunoscut sub numele de șir mutabil. Clasele StringBuffer și StringBuilder sunt folosite pentru a crea șiruri mutabile.
1) Metoda StringBuffer Class append().
Metoda append() concatenează argumentul dat cu acest String.
StringBufferExample.java
class StringBufferExample{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello '); sb.append('Java');//now original string is changed System.out.println(sb);//prints Hello Java } }
Ieșire:
Hello Java
2) Metoda StringBuffer insert().
Metoda insert() inserează șirul dat cu acest șir în poziția dată.
StringBufferExample2.java
class StringBufferExample2{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello '); sb.insert(1,'Java');//now original string is changed System.out.println(sb);//prints HJavaello } }
Ieșire:
HJavaello
3) Metoda StringBuffer replace().
Metoda replace() înlocuiește șirul dat din beginIndex și endIndex specificate.
StringBufferExample3.java
class StringBufferExample3{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello'); sb.replace(1,3,'Java'); System.out.println(sb);//prints HJavalo } }
Ieșire:
HJavalo
4) Metoda StringBuffer delete().
Metoda delete() a clasei StringBuffer șterge șirul din startIndex specificat la endIndex.
StringBufferExample4.java
class StringBufferExample4{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello'); sb.delete(1,3); System.out.println(sb);//prints Hlo } }
Ieșire:
Hlo
5) Metoda StringBuffer reverse().
Metoda reverse() a clasei StringBuilder inversează String-ul curent.
StringBufferExample5.java
class StringBufferExample5{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello'); sb.reverse(); System.out.println(sb);//prints olleH } }
Ieșire:
olleH
6) Metoda StringBuffer capacity().
Metoda capacity() a clasei StringBuffer returnează capacitatea curentă a tamponului. Capacitatea implicită a tamponului este 16. Dacă numărul de caractere crește față de capacitatea sa actuală, aceasta crește capacitatea cu (capacitate veche*2)+2. De exemplu, dacă capacitatea dvs. actuală este de 16, aceasta va fi (16*2)+2=34.
StringBufferExample6.java
class StringBufferExample6{ public static void main(String args[]){ StringBuffer sb=new StringBuffer(); System.out.println(sb.capacity());//default 16 sb.append('Hello'); System.out.println(sb.capacity());//now 16 sb.append('java is my favourite language'); System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2 } }
Ieșire:
16 16 34
7) Metoda StringBuffer assureCapacity().
Metoda assureCapacity() a clasei StringBuffer asigură că capacitatea dată este minimă față de capacitatea curentă. Dacă este mai mare decât capacitatea actuală, crește capacitatea cu (capacitate veche*2)+2. De exemplu, dacă capacitatea dvs. actuală este de 16, aceasta va fi (16*2)+2=34.
StringBufferExample7.java
class StringBufferExample7{ public static void main(String args[]){ StringBuffer sb=new StringBuffer(); System.out.println(sb.capacity());//default 16 sb.append('Hello'); System.out.println(sb.capacity());//now 16 sb.append('java is my favourite language'); System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2 sb.ensureCapacity(10);//now no change System.out.println(sb.capacity());//now 34 sb.ensureCapacity(50);//now (34*2)+2 System.out.println(sb.capacity());//now 70 } }
Ieșire:
16 16 34 34 70