English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Quando os dados precisam de muitas mudanças, você escolhe String ou StringBuffer no Java?

doStringO tipo é uma classe Java, usada para representar um conjunto de caracteres. As strings em Java são imutáveis e, após sua criação, o valor da string não pode ser alterado.

Como as strings são imutáveis, se você tentar reatribuir o valor da string, seu referência apontará para um novo objeto String, deixando uma String não usada na memória.

Java oferece a classe StringBuffer como substituto para String em situações onde há muitas modificações a serem feitas em strings de caracteres.

Você pode modificar repetidamente/operar sobre o conteúdo do StringBuffer, sem deixar muitos novos objetos não utilizados.

A classe StringBuilder é derivada do Java 5A principal diferença entre StringBuffer e StringBuilder, desde a introdução, é que os métodos do StringBuilder não são thread-safe (não sincronizados).

Recomenda-se usar StringBuilder, pois é mais rápido do que StringBuffer. No entanto, se for necessário garantir a segurança de thread, a melhor escolha é o objeto StringBuffer.

Converter uma string para StringBuilder

classedaappend()O método aceita um valor String e o adiciona aoObjeto.

Para converter um valor String em um objeto StringBuilder, basta usar o método append() para anexá-lo.

Exemplo

No seguinte programa Java, vamos converter um array de strings em um único objeto StringBuilder.

public class StringToStringBuilder {
   public static void main(String args[]) {
      String strs[] = {"Arshad", "Althamas", "Johar", "Javed", "Raju", "Krishna"};
      StringBuilder sb = new StringBuilder();
      sb.append(strs[0]);
      sb.append(" "+1]
      sb.append(" "+2]
      sb.append(" "+3]
      sb.append(" "+4]
      sb.append(" "+5]
      System.out.println(sb.toString());
   }
}

Resultado de Saída

Arshad Althamas Johar Javed Raju Krishna
Você também pode gostar