logo

Classe StringBuffer Java

A classe Java StringBuffer é usada para criar objetos String mutáveis ​​​​(modificáveis). A classe StringBuffer em Java é igual à classe String, exceto que é mutável, ou seja, pode ser alterada.

Nota: A classe Java StringBuffer é thread-safe, ou seja, vários threads não podem acessá-la simultaneamente. Portanto, é seguro e resultará em um pedido.

Construtores importantes da classe StringBuffer

ConstrutorDescrição
StringBuffer()Ele cria um buffer String vazio com capacidade inicial de 16.
StringBuffer(StringString)Ele cria um buffer String com a string especificada.
StringBuffer (capacidade interna)Ele cria um buffer String vazio com a capacidade especificada como comprimento.

Métodos importantes da classe StringBuffer

Modificador e tipoMétodoDescrição
StringBuffer sincronizado públicoanexar (String s)É usado para anexar a string especificada a esta string. O métodoappend() está sobrecarregado comoappend(char),append(boolean),append(int),append(float),append(double) etc.
StringBuffer sincronizado públicoinserir(deslocamento interno, String s)É usado para inserir a string especificada com esta string na posição especificada. O método insert() está sobrecarregado como insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) etc.
StringBuffer sincronizado públicosubstituir(int startIndex, int endIndex, String str)É usado para substituir a string de startIndex e endIndex especificados.
StringBuffer sincronizado públicodelete(int startIndex, int endIndex)É usado para excluir a string de startIndex e endIndex especificados.
StringBuffer sincronizado públicoreverter()é usado para reverter a string.
público internocapacidade()É usado para retornar a capacidade atual.
vazio públicogarantirCapacidade(int capacidade mínima)É utilizado para garantir a capacidade pelo menos igual ao mínimo determinado.
caractere públicocharAt(índice interno)É usado para retornar o caractere na posição especificada.
público internocomprimento()É usado para retornar o comprimento da string, ou seja, o número total de caracteres.
String públicasubstring(int inícioIndex)É usado para retornar a substring do BeginIndex especificado.
String públicasubstring(int inícioIndex, int endIndex)É usado para retornar a substring do beginIndex e endIndex especificados.

O que é uma String mutável?

Uma String que pode ser modificada ou alterada é conhecida como String mutável. As classes StringBuffer e StringBuilder são usadas para criar strings mutáveis.

1) Método Append() da classe StringBuffer

O método append() concatena o argumento fornecido com esta String.

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

Saída:

 Hello Java 

2) Método StringBuffer insert()

O método insert() insere a String fornecida com esta string na posição especificada.

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

Saída:

 HJavaello 

3) Método StringBuffer substituir()

O método replace() substitui a String fornecida do startIndex e endIndex 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 } } 

Saída:

 HJavalo 

4) Método StringBuffer delete()

O método delete() da classe StringBuffer exclui a String do BeginIndex especificado para 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 } } 

Saída:

 Hlo 

5) Método StringBuffer reverso()

O método reverse() da classe StringBuilder inverte a String atual.

StringBufferExample5.java

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

Saída:

 olleH 

6) Método StringBuffer capacidade()

O métodocapacidade() da classe StringBuffer retorna a capacidade atual do buffer. A capacidade padrão do buffer é 16. Se o número de caracteres aumentar em relação à sua capacidade atual, ele aumentará a capacidade em (oldcapacity*2)+2. Por exemplo, se sua capacidade atual for 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 } } 

Saída:

 16 16 34 

7) Método StringBuffer garantirCapacity()

O método garantirCapacity() da classe StringBuffer garante que a capacidade fornecida seja a mínima da capacidade atual. Se for maior que a capacidade atual, aumenta a capacidade em (oldcapacity*2)+2. Por exemplo, se sua capacidade atual for 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 } } 

Saída:

 16 16 34 34 70