String Buffer e String Builder Classes

o StringBuffer e StringBuilder as classes são usadas quando é necessário fazer muitas modificações nas strings de caracteres.

Ao contrário de Strings, objetos do tipo StringBuffer e String builder podem ser modificados repetidamente sem deixar para trás muitos objetos novos não utilizados.

A classe StringBuilder foi introduzida a partir do Java 5 e a principal diferença entre StringBuffer e StringBuilder é que os métodos StringBuilders não são thread-safe (não sincronizados).

Recomenda-se usar StringBuildersempre que possível, porque é mais rápido do que StringBuffer. No entanto, se a segurança do thread for necessária, a melhor opção são os objetos StringBuffer.

Exemplo

public class Test {

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

Isso produzirá o seguinte resultado -

Resultado

test String Buffer

Métodos StringBuffer

Aqui está a lista de métodos importantes suportados pela classe StringBuffer -

Sr. Não. Métodos e Descrição
1 public StringBuffer append (String s)

Atualiza o valor do objeto que invocou o método. O método leva boolean, char, int, long, Strings, etc.

2 public StringBuffer reverse ()

O método reverte o valor do objeto StringBuffer que invocou o método.

3 exclusão pública (int start, int end)

Exclui a string começando do índice inicial até o índice final.

4 inserção pública (deslocamento interno, int i)

Este método insere uma string s na posição mencionada pelo deslocamento.

5 substituir (int start, int end, String str)

Este método substitui os caracteres em uma substring deste StringBuffer por caracteres na String especificada.

Aqui está a lista de outros métodos (exceto métodos set) que são muito semelhantes à classe String -

Sr. Não. Método e Descrição
1

int capacity()

Retorna a capacidade atual do buffer de String.

2

char charAt(int index)

O caractere especificado da sequência atualmente representada pelo buffer de string, conforme indicado pelo argumento de índice, é retornado.

3

void ensureCapacity(int minimumCapacity)

Garante que a capacidade do buffer seja pelo menos igual ao mínimo especificado.

4

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

Os caracteres são copiados deste buffer de string para a matriz de caracteres de destino dst.

5

int indexOf(String str)

Retorna o índice dentro desta string da primeira ocorrência da substring especificada.

6

int indexOf(String str, int fromIndex)

Retorna o índice dentro desta string da primeira ocorrência da substring especificada, começando no índice especificado.

7

int lastIndexOf(String str)

Retorna o índice dentro desta string da ocorrência mais à direita da substring especificada.

8

int lastIndexOf(String str, int fromIndex)

Retorna o índice dentro desta string da última ocorrência da substring especificada.

9

int length()

Retorna o comprimento (contagem de caracteres) deste buffer de string.

10

void setCharAt(int index, char ch)

O caractere no índice especificado deste buffer de string é definido como ch.

11

void setLength(int newLength)

Define o comprimento desse buffer de String.

12

CharSequence subSequence(int start, int end)

Retorna uma nova sequência de caracteres que é uma subsequência dessa sequência.

13

String substring(int start)

Retorna uma nova String que contém uma subsequência de caracteres atualmente contidos neste StringBuffer. A substring começa no índice especificado e se estende até o final do StringBuffer.

14

String substring(int start, int end)

Retorna uma nova String que contém uma subsequência de caracteres atualmente contidos neste StringBuffer.

15

String toString()

Converte em uma string que representa os dados neste buffer de string.