La différence et les avantages et inconvénients de String, StringBuilder et StringBuffer

   Nous savons tous que String est une classe de chaînes. Lorsque nous définissons une chaîne, lorsque vous utilisez la chaîne, l'objet d'origine ne sera pas modifié, mais un nouvel objet sera créé. Ensuite, lorsque nous voulons effectuer de nombreuses opérations sur le string, Pour créer un grand nombre de nouveaux objets, ce qui entraîne une inefficacité,

   Java a donc introduit la classe StringBuilder, également connue sous le nom de type de chaîne variable. Lors de l'utilisation de cette classe pour créer des objets, aucun nouvel objet ne sera généré et seuls les objets d'origine seront modifiés. Sa couche inférieure est également un tableau de caractères , mais contrairement à String, le tableau de StringBuilder n'a pas de modificateur final privé, c'est pourquoi String est immuable :

 

 Étant donné que StringBuilder peut modifier des chaînes, il est naturellement non sécurisé pour les threads. Afin de résoudre le problème de la sécurité des threads, java a lancé la classe StringBuffer. En fait, la couche inférieure consiste à assurer l'atomicité des opérations en verrouillant. Nous pouvons utiliser la code source. Découvrez :

 Verrouillez-le via le mot clé synchronized, garantissant ainsi les problèmes de sécurité des threads


La différence entre StringBuilder et StringBuffer :

Je suppose que tu aimes

Origine blog.csdn.net/m0_63635730/article/details/129798634
conseillé
Classement