Clases String Buffer y String Builder

los StringBuffer y StringBuilder Las clases se utilizan cuando es necesario realizar muchas modificaciones en las cadenas de caracteres.

A diferencia de Strings, los objetos de tipo StringBuffer y String builder se pueden modificar una y otra vez sin dejar muchos objetos nuevos sin usar.

La clase StringBuilder se introdujo a partir de Java 5 y la principal diferencia entre StringBuffer y StringBuilder es que los métodos StringBuilders no son seguros para subprocesos (no están sincronizados).

Se recomienda utilizar StringBuildersiempre que sea posible porque es más rápido que StringBuffer. Sin embargo, si la seguridad de los subprocesos es necesaria, la mejor opción son los objetos StringBuffer.

Ejemplo

public class Test {

   public static void main(String args[]) {
      StringBuffer sBuffer = new StringBuffer("test");
      sBuffer.append(" String Buffer");
      System.out.println(sBuffer);  
   }
}

Esto producirá el siguiente resultado:

Salida

test String Buffer

Métodos StringBuffer

Aquí está la lista de métodos importantes admitidos por la clase StringBuffer:

No Señor. Métodos y descripción
1 público StringBuffer anexar (String s)

Actualiza el valor del objeto que invocó el método. El método toma boolean, char, int, long, Strings, etc.

2 público StringBuffer reverse ()

El método invierte el valor del objeto StringBuffer que lo invocó.

3 eliminación pública (inicio int, fin int)

Elimina la cadena desde el índice inicial hasta el índice final.

4 inserción pública (int offset, int i)

Este método inserta una cadena s en la posición mencionada por el desplazamiento.

5 reemplazar (int inicio, int fin, String str)

Este método reemplaza los caracteres en una subcadena de este StringBuffer con caracteres en la Cadena especificada.

Aquí está la lista de otros métodos (excepto los métodos de conjunto) que son muy similares a la clase String:

No Señor. Método y descripción
1

int capacity()

Devuelve la capacidad actual del búfer de cadena.

2

char charAt(int index)

Se devuelve el carácter especificado de la secuencia representada actualmente por el búfer de cadena, como lo indica el argumento de índice.

3

void ensureCapacity(int minimumCapacity)

Asegura que la capacidad del búfer sea al menos igual al mínimo especificado.

4

void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

Los caracteres se copian desde este búfer de cadena en la matriz de caracteres de destino dst.

5

int indexOf(String str)

Devuelve el índice dentro de esta cadena de la primera aparición de la subcadena especificada.

6

int indexOf(String str, int fromIndex)

Devuelve el índice dentro de esta cadena de la primera aparición de la subcadena especificada, comenzando en el índice especificado.

7

int lastIndexOf(String str)

Devuelve el índice dentro de esta cadena de la aparición más a la derecha de la subcadena especificada.

8

int lastIndexOf(String str, int fromIndex)

Devuelve el índice dentro de esta cadena de la última aparición de la subcadena especificada.

9

int length()

Devuelve la longitud (número de caracteres) de este búfer de cadena.

10

void setCharAt(int index, char ch)

El carácter en el índice especificado de este búfer de cadena se establece en ch.

11

void setLength(int newLength)

Establece la longitud de este búfer de cadena.

12

CharSequence subSequence(int start, int end)

Devuelve una nueva secuencia de caracteres que es una subsecuencia de esta secuencia.

13

String substring(int start)

Devuelve una nueva cadena que contiene una subsecuencia de caracteres contenidos actualmente en este StringBuffer. La subcadena comienza en el índice especificado y se extiende hasta el final de StringBuffer.

14

String substring(int start, int end)

Devuelve una nueva cadena que contiene una subsecuencia de caracteres contenidos actualmente en este StringBuffer.

15

String toString()

Convierte en una cadena que representa los datos en este búfer de cadena.