Quel est le meilleur StringBuffer ou StringBuilder ?
Quel est le meilleur StringBuffer ou StringBuilder ?

Vidéo: Quel est le meilleur StringBuffer ou StringBuilder ?

Vidéo: Quel est le meilleur StringBuffer ou StringBuilder ?
Vidéo: Основные учебные пособия по Java | В чем разница ч / б String и StringBuffer и String Builder в Java? 2024, Peut
Anonim

La chaîne est immuable alors que Tampon de chaîne et StringBuider sont des classes mutables. Tampon de chaîne est thread-safe et synchronisé alors que Générateur de chaînes n'est pas, c'est pourquoi Générateur de chaînes est plus rapide que Tampon de chaîne . Chaîne concat + opérateur utilise en interne StringBuffer ou StringBuilder classer.

En conséquence, lequel est le meilleur StringBuffer ou StringBuilder ?

Par conséquent, Générateur de chaînes est plus rapide que Tampon de chaîne . Tampon de chaîne est modifiable. Il peut changer en termes de longueur et de contenu. Tampons de chaîne sont thread-safe, ce qui signifie qu'ils ont des méthodes synchronisées pour contrôler l'accès afin que seulement une thread peut accéder à un Tampon de chaîne code synchronisé de l'objet à la fois.

De même, pourquoi StringBuffer est plus lent que StringBuilder ? L'objet créé par Tampon de chaîne est stocké dans le tas. Tampon de chaîne a les mêmes méthodes que le Générateur de chaînes , mais chaque méthode dans Tampon de chaîne est synchronisé c'est-à-dire Tampon de chaîne est thread-safe. Ainsi Générateur de chaînes est plus rapide que les Tampon de chaîne lors de l'appel des mêmes méthodes de chaque classe.

De ce fait, quelle est la différence entre StringBuffer et StringBuilder ?

Générateur de chaînes . Générateur de chaînes est le même que le Tampon de chaîne , c'est-à-dire qu'il stocke l'objet dans le tas et qu'il peut également être modifié. Le principal différence entre les StringBuffer et StringBuilder est-ce Générateur de chaînes n'est pas thread-safe. Générateur de chaînes est rapide car il n'est pas thread-safe.

Quand dois-je utiliser StringBuffer ?

Si la valeur de l'objet peut changer et n'est accessible qu'à partir d'un seul thread, utilisation un StringBuilder car StringBuilder n'est pas synchronisé. Dans le cas où la valeur de l'objet peut changer et sera modifiée par plusieurs threads, utilisation une Tampon de chaîne car Tampon de chaîne est synchronisé.

Conseillé: