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