Maison Java JavaBase La différence entre string, stringbuffer et stringbuilder

La différence entre string, stringbuffer et stringbuilder

Jun 19, 2020 pm 05:24 PM
string stringbuffer stringbuilder

La différence entre string, stringbuffer et stringbuilder

Quelles sont les différences entre string, stringbuffer et stringbuilder ?

Lors d'un entretien téléphonique, il a été demandé à l'éditeur si StringBuilder était thread-safe . C'est prudent de laisser échapper, mais les gens me demandent si vous avez 2 ans d'expérience en développement. Ne pas utiliser ce cours depuis longtemps m'a fait oublier mon choix. On peut aussi dire que les bases ne sont pas solides. Je ne sais pas si l’un d’entre vous a vécu une telle expérience, je ferais donc mieux de l’enregistrer par écrit pour améliorer ma mémoire.

String : Tout le monde sait que String est modifié avec final, donc sa valeur est immuable. Cela fait que chaque opération sur String génère un nouvel objet String. C'est non seulement inefficace, mais aussi un grand nombre de gaspillage. espace mémoire limité, comme le montre la figure :

La différence entre string, stringbuffer et stringbuilder

Nous pouvons voir que la valeur initiale de la chaîne est "abc", puis ajouter une nouvelle chaîne après cette chaîne " bv" , ce processus nécessite de rouvrir l'espace mémoire dans la mémoire de la pile. Enfin, la chaîne "abcbv" doit ouvrir l'espace mémoire en conséquence. Deux chaînes aussi courtes doivent ouvrir l'espace mémoire trois fois. disons que c'est un énorme gaspillage d'espace mémoire. Afin de gérer les opérations fréquentes liées aux chaînes, deux nouvelles classes – la classe StringBuffer et la classe StringBuild – ont été introduites pour gérer ces chaînes changeantes.

La différence entre string, stringbuffer et stringbuilder

Classe StringBuilder : proposée en Java 5, caractérisée par des chaînes mutables. Haute efficacité d’exécution et thread dangereux.

Classe StringBuffer : caractérisée par des chaînes variables, une faible efficacité d'exécution et une sécurité des threads.

On voit que le temps est plus rapide.

Résumé :

  • Si vous souhaitez exploiter une petite quantité de données, utilisez String ;

  • Opération multithread ; opération du tampon de chaîne Une grande quantité de données StringBuffer;

  • Un seul thread exploite une grande quantité de données StringBuilder sous le tampon de chaîne.

Tutoriel recommandé : "Tutoriel 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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Convertissez les types de données de base en chaînes à l'aide de la fonction String.valueOf() de Java Convertissez les types de données de base en chaînes à l'aide de la fonction String.valueOf() de Java Jul 24, 2023 pm 07:55 PM

Convertir les types de données de base en chaînes à l'aide de la fonction String.valueOf() de Java Dans le développement Java, lorsque nous devons convertir les types de données de base en chaînes, une méthode courante consiste à utiliser la fonction valueOf() de la classe String. Cette fonction peut accepter les paramètres des types de données de base et renvoyer la représentation sous forme de chaîne correspondante. Dans cet article, nous explorerons comment utiliser la fonction String.valueOf() pour les conversions de types de données de base et fournirons quelques exemples de code pour

Comment convertir un tableau de caractères en chaîne Comment convertir un tableau de caractères en chaîne Jun 09, 2023 am 10:04 AM

Méthode de conversion d'un tableau de caractères en chaîne : cela peut être réalisé par affectation. Utilisez la syntaxe {char a[]=" abc d\0efg ";string s=a;} pour laisser le tableau de caractères attribuer directement une valeur à la chaîne et l'exécuter. le code pour terminer la conversion.

Convertir une chaîne en StringBuilder en Java Convertir une chaîne en StringBuilder en Java Sep 02, 2023 pm 03:57 PM

La méthode append() de la classe StringBuilder accepte une valeur String et l'ajoute à l'objet actuel. Convertir la valeur de chaîne en objet StringBuilder - Obtenir la valeur de chaîne. Ajoutez à l’aide de la méthode append() pour obtenir la chaîne dans StringBuilder. Exemple Dans le programme Java suivant, nous convertissons un tableau de chaînes en un seul objet StringBuilder. Démonstration en temps réel publicclassStringToStringBuilder{ publicstaticvoidmain(Stringargs[]){&a

Utilisez la méthode delete() de la classe StringBuilder en Java pour supprimer une partie du contenu de la chaîne Utilisez la méthode delete() de la classe StringBuilder en Java pour supprimer une partie du contenu de la chaîne Jul 26, 2023 pm 08:43 PM

Utilisez la méthode delete() de la classe StringBuilder en Java pour supprimer une partie du contenu d'une chaîne. La classe String est une classe de traitement de chaînes couramment utilisée en Java. Elle possède de nombreuses méthodes couramment utilisées pour les opérations sur les chaînes. Cependant, dans certains cas, nous devons modifier fréquemment les chaînes, et l'immuabilité de la classe String entraînera la création fréquente de nouveaux objets chaîne, affectant ainsi les performances. Pour résoudre ce problème, Java fournit la classe StringBuilder, qui

Quelles sont les méthodes pour effacer stringbuilder ? Quelles sont les méthodes pour effacer stringbuilder ? Oct 12, 2023 pm 04:57 PM

Les méthodes pour effacer stringbuilder sont : 1. Utilisez la méthode setLength(0) pour effacer l'objet StringBuilder ; 2. Utilisez la méthode delete(0, length) pour effacer l'objet StringBuilder ; ") pour effacer l'objet StringBuilder ; 4., utilisez new StringBuilder() pour recréer un nouvel objet StringBuilder.

Utilisez la fonction String.replace() de Java pour remplacer des caractères (chaînes) dans une chaîne Utilisez la fonction String.replace() de Java pour remplacer des caractères (chaînes) dans une chaîne Jul 25, 2023 pm 05:16 PM

Remplacez les caractères (chaînes) dans une chaîne à l'aide de la fonction String.replace() de Java. En Java, les chaînes sont des objets immuables, ce qui signifie qu'une fois qu'un objet chaîne est créé, sa valeur ne peut pas être modifiée. Cependant, vous pouvez rencontrer des situations dans lesquelles vous devez remplacer certains caractères ou chaînes dans une chaîne. À l'heure actuelle, nous pouvons utiliser la méthode replace() dans la classe String de Java pour implémenter le remplacement de chaîne. La méthode replace() de la classe String a deux types :

Utilisez la fonction StringBuilder.replace() de Java pour remplacer une plage de caractères spécifiée Utilisez la fonction StringBuilder.replace() de Java pour remplacer une plage de caractères spécifiée Jul 24, 2023 pm 06:12 PM

Utilisez la fonction StringBuilder.replace() de Java pour remplacer une plage de caractères spécifiée. En Java, la classe StringBuilder fournit la méthode replace(), qui peut être utilisée pour remplacer une plage de caractères spécifiée dans une chaîne. La syntaxe de cette méthode est la suivante : publicStringBuilderreplace(intstart,intend,Stringstr) La méthode ci-dessus est utilisée pour remplacer l'étoile d'index de

Interprétation de la documentation Java : introduction détaillée à la méthode substring() de la classe StringBuilder Interprétation de la documentation Java : introduction détaillée à la méthode substring() de la classe StringBuilder Nov 03, 2023 pm 04:31 PM

Interprétation de la documentation Java : Introduction détaillée à la méthode substring() de la classe StringBuilder Introduction : En programmation Java, le traitement des chaînes est l'une des opérations les plus courantes. Java fournit une série de classes et de méthodes pour le traitement des chaînes, parmi lesquelles la classe StringBuilder est un choix couramment utilisé pour les opérations fréquentes sur les chaînes. Dans la classe StringBuilder, la méthode substring() est une méthode très utile pour intercepter les sous-chaînes de chaînes. Cet article sera

See all articles