logo

Clase StringBuffer de Java

La clase Java StringBuffer se utiliza para crear objetos String mutables (modificables). La clase StringBuffer en Java es la misma que la clase String excepto que es mutable, es decir, se puede cambiar.

Nota: La clase Java StringBuffer es segura para subprocesos, es decir, varios subprocesos no pueden acceder a ella simultáneamente. Por lo que es seguro y dará como resultado un pedido.

Constructores importantes de la clase StringBuffer

ConstructorDescripción
StringBuffer()Crea un buffer de cadena vacío con una capacidad inicial de 16.
StringBuffer(cadena cadena)Crea un búfer de cadena con la cadena especificada.
StringBuffer (capacidad interna)Crea un búfer de cadena vacío con la capacidad especificada como longitud.

Métodos importantes de la clase StringBuffer

Modificador y tipoMétodoDescripción
StringBuffer público sincronizadoañadir(cadenas)Se utiliza para agregar la cadena especificada con esta cadena. El método append() está sobrecargado como append(char), append(boolean), append(int), append(float), append(double), etc.
StringBuffer público sincronizadoinsertar (desplazamiento int, cadena s)Se utiliza para insertar la cadena especificada con esta cadena en la posición especificada. El método insert() está sobrecargado como insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double), etc.
StringBuffer público sincronizadoreemplazar (int índice inicial, int índice final, cadena cadena)Se utiliza para reemplazar la cadena de startIndex y endIndex especificados.
StringBuffer público sincronizadoeliminar (int índice inicial, int índice final)Se utiliza para eliminar la cadena de startIndex y endIndex especificados.
StringBuffer público sincronizadocontrarrestar()se utiliza para invertir la cadena.
público internacionalcapacidad()Se utiliza para devolver la capacidad actual.
vacío públicoasegurarCapacidad(int capacidad mínima)Se utiliza para garantizar que la capacidad sea al menos igual al mínimo dado.
carácter públicocharAt(índice int)Se utiliza para devolver el carácter a la posición especificada.
público internacionallongitud()Se utiliza para devolver la longitud de la cadena, es decir, el número total de caracteres.
cadena públicasubcadena (int comenzar índice)Se utiliza para devolver la subcadena del índice de inicio especificado.
cadena públicasubcadena(int índicecomenzar, int índicefinal)Se utiliza para devolver la subcadena del beginIndex y endIndex especificados.

¿Qué es una cadena mutable?

Una cadena que se puede modificar o cambiar se conoce como cadena mutable. Las clases StringBuffer y StringBuilder se utilizan para crear cadenas mutables.

1) Método append() de la clase StringBuffer

El método append() concatena el argumento dado con esta 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 } } 

Producción:

 Hello Java 

2) Método StringBuffer insert()

El método insert() inserta la cadena dada con esta cadena en la posición dada.

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

Producción:

 HJavaello 

3) Método StringBuffer reemplazar()

El método replace() reemplaza la cadena dada a partir del índice de inicio y del índice de finalización especificados.

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

Producción:

 HJavalo 

4) Método StringBuffer eliminar()

El método eliminar () de la clase StringBuffer elimina la cadena del índice inicial especificado al índice final.

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

Producción:

 Hlo 

5) Método StringBuffer inverso()

El método reverse() de la clase StringBuilder invierte 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 } } 

Producción:

 olleH 

6) Método StringBuffer capacidad()

El método capacidad() de la clase StringBuffer devuelve la capacidad actual del búfer. La capacidad predeterminada del búfer es 16. Si el número de caracteres aumenta con respecto a su capacidad actual, aumenta la capacidad en (capacidad anterior*2)+2. Por ejemplo, si su capacidad actual es 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 } } 

Producción:

 16 16 34 

7) Método StringBuffer asegurarCapacity()

El método sureCapacity() de la clase StringBuffer garantiza que la capacidad dada sea la mínima de la capacidad actual. Si es mayor que la capacidad actual, aumenta la capacidad en (capacidad anterior*2)+2. Por ejemplo, si su capacidad actual es 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 } } 

Producción:

 16 16 34 34 70