logo

Classe Java StringBuffer

La classe Java StringBuffer s'utilitza per crear objectes String mutables (modificables). La classe StringBuffer a Java és la mateixa que la classe String, excepte que és mutable, és a dir, es pot canviar.

Nota: la classe Java StringBuffer és segura per a fils, és a dir, diversos fils no hi poden accedir simultàniament. Per tant, és segur i donarà lloc a una comanda.

Constructors importants de la classe StringBuffer

ConstructorDescripció
StringBuffer()Crea un buffer String buit amb la capacitat inicial de 16.
StringBuffer(String str)Crea un buffer de cadena amb la cadena especificada..
StringBuffer (capacitat int)Crea una memòria intermèdia de cadena buida amb la capacitat especificada com a longitud.

Mètodes importants de la classe StringBuffer

Modificador i tipusMètodeDescripció
StringBuffer sincronitzat públicafegir (cadena s)S'utilitza per afegir la cadena especificada amb aquesta cadena. El mètode append() està sobrecarregat com append (char), append (boolean), append (int), append (float), append (double), etc.
StringBuffer sincronitzat públicinsert(int offset, String s)S'utilitza per inserir la cadena especificada amb aquesta cadena a la posició especificada. El mètode insert() està sobrecarregat com insert (int, char), insert (int, boolean), insert (int, int), insert (int, float), insert (int, double), etc.
StringBuffer sincronitzat públicsubstituir(int startIndex, int endIndex, String str)S'utilitza per substituir la cadena de startIndex i endIndex especificats.
StringBuffer sincronitzat públicdelete(int startIndex, int endIndex)S'utilitza per eliminar la cadena de startIndex i endIndex especificats.
StringBuffer sincronitzat públicrevés ()s'utilitza per invertir la corda.
públic intcapacitat ()S'utilitza per retornar la capacitat actual.
buit públicgarantir capacitat (int minimumCapacity)S'utilitza per garantir la capacitat almenys igual al mínim donat.
caràcter públiccharAt (índex int)S'utilitza per retornar el caràcter a la posició especificada.
públic intllargada()S'utilitza per retornar la longitud de la cadena, és a dir, el nombre total de caràcters.
cadena públicasubcadena (int beginIndex)S'utilitza per retornar la subcadena del beginIndex especificat.
cadena públicasubcadena (int beginIndex, int endIndex)S'utilitza per retornar la subcadena del beginIndex i endIndex especificats.

Què és una cadena mutable?

Una cadena que es pot modificar o canviar es coneix com a cadena mutable. Les classes StringBuffer i StringBuilder s'utilitzen per crear cadenes mutables.

1) Mètode Append() de la classe StringBuffer

El mètode append() concatena l'argument donat amb aquesta cadena.

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 } } 

Sortida:

 Hello Java 

2) Mètode StringBuffer insert()

El mètode insert() insereix la cadena donada amb aquesta cadena a la posició donada.

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 } } 

Sortida:

 HJavaello 

3) Mètode StringBuffer replace()

El mètode replace() substitueix la cadena donada de l'index beginIndex i endIndex especificats.

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 } } 

Sortida:

 HJavalo 

4) Mètode StringBuffer delete().

El mètode delete() de la classe StringBuffer elimina la cadena del beginIndex especificat al 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 } } 

Sortida:

 Hlo 

5) Mètode StringBuffer reverse().

El mètode reverse() de la classe StringBuilder inverteix la cadena actual.

StringBufferExample5.java

 class StringBufferExample5{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello'); sb.reverse(); System.out.println(sb);//prints olleH } } 

Sortida:

 olleH 

6) Mètode StringBuffer capacity().

El mètode capacitat() de la classe StringBuffer retorna la capacitat actual del buffer. La capacitat per defecte de la memòria intermèdia és 16. Si el nombre de caràcters augmenta de la seva capacitat actual, augmenta la capacitat en (capacitat antiga*2)+2. Per exemple, si la vostra capacitat actual és de 16, serà (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 } } 

Sortida:

 16 16 34 

7) Mètode StringBuffer assureCapacity().

El mètode assureCapacity() de la classe StringBuffer garanteix que la capacitat donada sigui la mínima per a la capacitat actual. Si és més gran que la capacitat actual, augmenta la capacitat en (capacitat antiga*2)+2. Per exemple, si la vostra capacitat actual és de 16, serà (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 } } 

Sortida:

 16 16 34 34 70