Diferença entre String, StringBuffer e StringBuilder em Java – Exemplo em anexo

Publicados: 2022-01-30
Diferença entre String, StringBuffer e StringBuilder em Java - Comparação e Exemplo anexado

Neste tutorial de Java, veremos a diferença entre Java String, StringBuffer e StringBuilder.

Vamos começar:

Corda:

A classe String representa cadeias de caracteres. Todos os literais de string em programas Java, como “crunchify”, são implementados como instâncias dessa classe. Strings são constantes; seus valores não podem ser alterados depois de criados.

StringBuffer:

Uma sequência de caracteres mutável e segura para threads. Um buffer de string é como um String, mas pode ser modificado.

A qualquer momento, ele contém uma determinada sequência de caracteres, mas o comprimento e o conteúdo da sequência podem ser alterados por meio de determinadas chamadas de método.

Os buffers de string são seguros para uso por vários threads.

StringBuilder:

Uma sequência mutável de caracteres. Esta classe fornece uma API compatível com StringBuffer, mas sem garantia de sincronização.

Essa classe é projetada para uso como um substituto para StringBuffer em locais onde o buffer de string estava sendo usado por um único thread (como geralmente é o caso).

Sempre que possível, é recomendado que esta classe seja usada preferencialmente a StringBuffer, pois será mais rápida na maioria das implementações.

Vamos comparar todas as características abaixo de String, StringBuffer e StringBuilder.

Corda StringBuffer StringBuilder
Discussão segura? sim sim Não
Sincronizado? sim sim Não
Modificável? Não (imutável) Sim (mutável) Sim (mutável)
Armazenar Conjunto de Strings Pilha Pilha
atuação Devagar Rápido Mais rápido

Código Java:

  • Criar classe: CrunchifyStringVsStringBufferVsStringBuilder.java
  • Coloque o código abaixo nele
  • Salvar Arquivo

Neste tutorial, estamos adicionando adicionando, anexando string no total 199999 vezes.

Resultado do console do IntelliJ IDEA:

Execute o programa acima como um aplicativo Java no IntelliJ IDEA ou no Eclipse Console e você terá o resultado abaixo.

Deixe-me saber se você enfrentar algum problema ao executar o programa acima ou tiver alguma dúvida entre String, StringBuffer e StringBuilder.