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

Quoi choisir en Java, String ou StringBuffer, lorsque les données doivent être modifiées en grande quantité ?

deLesLe type est une classe Java, utilisée pour représenter un ensemble de caractères. Les chaînes de caractères en Java sont immuables et leur valeur ne peut pas être modifiée une fois créée.

Les chaînes de caractères étant immuables, si vous essayez de réaffecter la valeur de la chaîne, son référence pointera vers un nouveau objet String, laissant ainsi des String inutilisés en mémoire.

Java propose la classe StringBuffer comme remplacement de String pour les endroits où il faut effectuer de nombreuses modifications sur des chaînes de caractères.

Vous pouvez modifier à plusieurs reprises/d'opérer sur le contenu StringBuffer sans laisser trop d'objets non utilisés.

La classe StringBuilder est issue de Java 5Depuis la version initiale, la principale différence entre StringBuffer et StringBuilder est que les méthodes de StringBuilder ne sont pas sécurisées en thread (non synchronisées).

Il est recommandé d'utiliser StringBuilder car il est plus rapide que StringBuffer. Cependant, si vous devez garantir la sécurité des threads, le meilleur choix est l'objet StringBuffer.

Convertir une chaîne en StringBuilder

StringBuilderde la classeappend()La méthode accepte une valeur String et l'ajoute auObjet.

Pour convertir une valeur String en objet StringBuilder, il suffit d'utiliser la méthode append() pour l'ajouter.

Exemple

Dans le programme Java suivant, nous allons convertir un tableau de chaînes de caractères en un seul objet 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(" "+strs[1});
      sb.append(" "+strs[2});
      sb.append(" "+strs[3});
      sb.append(" "+strs[4});
      sb.append(" "+strs[5});
      System.out.println(sb.toString());
   }
}

Résultat de la sortie

Arshad Althamas Johar Javed Raju Krishna
Vous pourriez aussi aimer