logo

Clasa Java StringBuffer

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

ConstructorDescriere
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 tipMetodăDescriere
StringBuffer public sincronizatadaugă (ș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 sincronizatinsert(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 sincronizatdelete(int startIndex, int endIndex)Este folosit pentru a șterge șirul din startIndex și endIndex specificate.
StringBuffer public sincronizatverso()este folosit pentru a inversa șirul.
public intcapacitate()Este folosit pentru a returna capacitatea curentă.
vid publicasigurăCapacity(int minimumCapacity)Este folosit pentru a asigura o capacitate cel puțin egală cu minimul dat.
public charcharAt(index int)Este folosit pentru a returna caracterul la poziția specificată.
public intlungime()Este folosit pentru a returna lungimea șirului, adică numărul total de caractere.
public Stringsubșir (int beginIndex)Este folosit pentru a returna subșirul de la beginIndex specificat.
public Stringsubstring(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