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

Différence entre le tampon de chaîne et le générateur de chaîne en Java

Les StringBuffer et StringBuilder sont des classes modifiables, utilisées pour effectuer des opérations sur les objets chaînes de caractères, telles que l'inversion des chaînes, la compression des chaînes, etc. Nous pouvons modifier les chaînes sans créer de nouveaux objets de chaînes. Le StringBuffer est sécurisé en ce qui concerne les threads, tandis que le StringBuilder ne l'est pas. Par conséquent, il est plus rapide. De plus, la concaténation des chaînes +Les opérateurs utilisent internement la classe StringBuffer ou StringBuilder. Voici les différences.}

numérocléZone de mémoire tamponGénérateur de chaîne
1
De base

StringBuffer a été introduit dans la version initiale de Java

C'est dans Java 5introduit
2
Synchronisé
Il est synchroniséDifférent 
3Performance 

Il est sécurisé en thread. Par conséquent, plusieurs threads ne peuvent pas accéder en même temps, donc le débit est lent.

Il n'est pas sécurisé en thread, donc plus rapide que la zone de mémoire tampon 
4Modifiable

C'est modifiable. Nous pouvons modifier la chaîne sans créer d'objet

C'est aussi modifiable 
5
stockage 
pile
pile

Exemple StringBuilder

public class StringBuilderExample{
   public static void main(String[] args){
      StringBuilder builder = new StringBuilder("Hi");
      builder.append("Java 8");
      System.out.println("StringBuilderExample" +builder);
   }
}

Exemple StringBuffer

public class StringBufferExample{
   public static void main(String[] args){
      StringBuffer buffer = new StringBuffer("Hi");
      buffer.append("Java 8");
      System.out.println("StringBufferExample" +buffer);
   }
}
Vous pourriez aussi aimer