Maison > Java > javaDidacticiel > le corps du texte

Pourquoi n'utilisons-nous pas « new » pour créer des chaînes en Java ?

Patricia Arquette
Libérer: 2024-11-13 16:45:02
original
614 Les gens l'ont consulté

Why Don't We Use 'new' to Create Strings in Java?

Les chaînes sont des objets en Java : pourquoi pas de « nouveau » pour la création ?

Les chaînes en Java sont des objets, mais contrairement à d'autres objets, elles sont généralement créés sans utiliser le mot-clé « nouveau ». Cette pratique soulève la question de savoir pourquoi « nouveau » n'est pas nécessaire pour la création de chaînes.

Raison de ne pas utiliser « nouveau » : internement de chaînes

Plutôt que de créer un nouveau Objet chaîne Chaque fois qu'un littéral de chaîne est utilisé, Java exécute un processus appelé internement. L'internement implique de stocker des littéraux de chaîne dans un pool central, appelé pool de chaînes. Lorsqu'une chaîne littérale est rencontrée, elle est vérifiée par rapport au pool de chaînes. Si une chaîne littérale identique existe déjà, une référence à la chaîne existante est renvoyée, au lieu de créer un nouvel objet.

Exemple :

Considérez le code suivant :

String str1 = "Hello";
String str2 = "Hello";
Copier après la connexion

Dans cet exemple, « str1 » et « str2 » font référence au même objet String dans le pool de chaînes, bien qu'ils aient été créés séparément. En conséquence, « str1 == str2 » est évalué à vrai, indiquant qu'ils sont physiquement égaux.

Avantage du stage :

Le stage optimise les performances en réduisant le nombre d'objets String créés, en particulier pour les chaînes fréquemment utilisées. Par exemple, dans une boucle où un littéral de chaîne est utilisé plusieurs fois, un seul objet String est créé, plutôt que de le recréer à chaque itération, ce qui entraîne d'importantes économies de mémoire.

Création de chaînes avec « nouveau »

Bien que le stage soit l'approche recommandée, il est toujours possible de créer des chaînes en utilisant « nouveau ». Cependant, il est important de noter que cela peut entraîner la création de plusieurs objets String pour la même valeur de chaîne, ce qui peut avoir un impact sur l'utilisation de la mémoire et les performances.

Conclusion :

L'absence de « nouveau » dans la création de chaînes en Java provient de l'utilisation de l'internement de chaînes. L'internement améliore les performances en réduisant la création d'objets inutiles et en favorisant l'efficacité de la mémoire, ce qui en fait la méthode privilégiée pour créer des chaînes.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal