Maison > Java > Javacommencer > le corps du texte

La différence entre String, StringBuffer et StringBuilder en Java

王林
Libérer: 2019-11-29 13:54:55
avant
1856 Les gens l'ont consulté

La différence entre String, StringBuffer et StringBuilder en Java

Les différences sont les suivantes :

1) Une fois le contenu de la classe String déclaré, il ne peut plus être modifié. Ce qui change, c'est uniquement son pointeur mémoire, tandis que. le contenu de l'objet de la classe StringBuffer est Peut être modifié.

2) Pour StringBuffer, l'instanciation d'objet ne peut pas être complétée directement via une affectation comme String, mais doit être complétée via la méthode constructeur.

3) StringBuffer ne génère pas de nouveaux objets lors du traitement des chaînes et est meilleur que la classe string en termes d'utilisation de la mémoire. Par conséquent, en utilisation réelle, si vous avez souvent besoin de modifier une chaîne, comme une insertion, une suppression et d'autres opérations, il est plus approprié d'utiliser StringBuffer.

Partage de vidéos d'enseignement en ligne : vidéo Java

Exemple : L'objet chaîne ne peut pas être modifié signifie que l'objet lui-même ne peut pas être modifié, et non que la référence ne peut pas être modifiée.

String a = “你好”;
Copier après la connexion

Ce que signifie cette ligne de code est de déclarer une variable de référence de type String appelée a, de créer un objet String en mémoire (avec une valeur de "Bonjour"), puis d'attribuer la référence de cet objet au variable a.

a = “hello”;
Copier après la connexion

L'effet de cette ligne de code est de créer un autre objet String (avec la valeur "hello") dans la mémoire, puis d'attribuer la référence de ce nouvel objet à la variable a au lieu de la chaîne d'origine objet dans la mémoire. La valeur de l'objet String "hello" devient "hello".

4) La plus grande différence entre StringBuilder et StringBuffer est que les méthodes de StringBuilder ne sont pas thread-safe (ne sont pas accessibles de manière synchrone).

5) StringBuilder a un avantage en termes de vitesse par rapport à StringBuffer, il est donc recommandé d'utiliser la classe StringBuilder dans la plupart des cas. Cependant, lorsque l'application nécessite une sécurité des threads, la classe StringBuffer doit être utilisée.

Si vous souhaitez en savoir plus sur Java, vous pouvez visiter : Introduction à la programmation Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
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