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

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

王林
王林avant
2019-11-29 13:54:551773parcourir

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 = “你好”;

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”;

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer