Différence entre String, StringBuffer et StringBuilder en Java – Exemple joint

Publié: 2022-01-30
Différence entre String, StringBuffer et StringBuilder en Java - Comparaison et exemple joint

Dans ce tutoriel Java, nous allons passer en revue la différence entre Java String, StringBuffer et StringBuilder.

Commençons:

Chaîne de caractères:

La classe String représente des chaînes de caractères. Tous les littéraux de chaîne dans les programmes Java, tels que "crunchify", sont implémentés en tant qu'instances de cette classe. Les chaînes sont constantes ; leurs valeurs ne peuvent pas être modifiées après leur création.

StringBuffer & #160;:

Une séquence de caractères mutable et sécurisée pour les threads. Un tampon de chaîne est comme une chaîne, mais peut être modifié.

À tout moment, il contient une séquence particulière de caractères, mais la longueur et le contenu de la séquence peuvent être modifiés via certains appels de méthode.

Les tampons de chaînes peuvent être utilisés en toute sécurité par plusieurs threads.

Générateur de chaînes :

Une suite de caractères mutable. Cette classe fournit une API compatible avec StringBuffer, mais sans garantie de synchronisation.

Cette classe est conçue pour être utilisée en remplacement de StringBuffer aux endroits où le tampon de chaîne était utilisé par un seul thread (comme c'est généralement le cas).

Dans la mesure du possible, il est recommandé d'utiliser cette classe de préférence à StringBuffer car elle sera plus rapide dans la plupart des implémentations.

Comparons toutes les caractéristiques ci-dessous de String, StringBuffer et StringBuilder.

Chaîne de caractères StringBuffer Générateur de chaînes
Thread safe ? Oui Oui Non
Synchronisé ? Oui Oui Non
Modifiable ? Non (immuable) Oui (modifiable) Oui (modifiable)
Espace de rangement Piscine à cordes Tas Tas
Performance Lent Vite Plus rapide

Code Java :

  • Créer une classe : CrunchifyStringVsStringBufferVsStringBuilder.java
  • Mettez-y le code ci-dessous
  • Enregistrer le fichier

Dans ce didacticiel, nous ajoutons l'ajout, l'ajout d'un total de chaînes 199999 fois.

Résultat de la console IntelliJ IDEA :

Exécutez le programme ci-dessus en tant qu'application Java dans IntelliJ IDEA ou dans la console Eclipse et vous obtiendrez le résultat ci-dessous.

Faites-moi savoir si vous rencontrez un problème lors de l'exécution du programme ci-dessus ou si vous avez une question entre String, StringBuffer et StringBuilder.