Maison > Java > javaDidacticiel > le corps du texte

La différence entre StringBuffer et StringBuilder en Java

高洛峰
Libérer: 2017-01-22 11:44:22
original
1545 Les gens l'ont consulté

Quand j'utilisais Java plus tôt, je savais qu'il existait une classe appelée StringBuffer, qui était utilisée pour assembler des chaînes plus longues. Après être passé à C#, il existe également une classe avec des fonctions similaires appelée StringBuilder. L'abréviation est sb, ce qui est très facile à retenir.

Quand je suis ensuite revenu à Java, j'ai découvert que Java avait également StringBuilder, j'étais donc curieux de savoir pourquoi StringBuilder avait été introduit après StringBuffer.

Il s'avère que StringBuilder de Java (comme C#) n'est pas thread-safe, alors que l'ancien StringBuffer possède certaines propriétés de sécurité des threads. Bien entendu, StringBuilder a été introduit principalement parce qu’il n’a pas besoin d’être utilisé dans des situations multithread.

Les cas d'utilisation courants de StringBuilder (ou StringBuffer) sont :

public String toString() {
 return new StringBuilder()
  .append("Name: " + name)
  .append("Foo: " + foo)
  .append("Bar: " + bar)
  .toString();
}
Copier après la connexion

Dans ce cas, StringBuilder n'est pas un membre de classe, c'est juste une variable locale, là il n'est pas du tout question de multi-threading.

En conséquence, l'introduction de StringBuilder a apporté une énorme amélioration des performances, et il n'y a aucun problème de sécurité...

Pour plus d'articles sur la différence entre StringBuffer et StringBuilder en Java, faites attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal