Maison > Java > javaDidacticiel > le corps du texte

Pourquoi devrions-nous éviter d'utiliser « new » pour créer des chaînes en Java ?

Mary-Kate Olsen
Libérer: 2024-11-19 09:24:03
original
690 Les gens l'ont consulté

Why Should We Avoid Using `new` to Create Strings in Java?

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

Bien que les chaînes soient effectivement des objets en Java, elles sont créées différemment de d'autres objets grâce à un mécanisme spécial appelé internement de chaîne.

En Java, les littéraux de chaîne (mis entre guillemets doubles) sont automatiquement internés. Cela signifie que plusieurs références au même littéral de chaîne pointent vers le même objet String en mémoire. Par conséquent, utiliser new pour créer un objet String est redondant et inutile.

Par exemple :

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

Ici, str1 et str2 font référence au même objet String, même s'ils semblent être créé séparément. En effet, la JVM reconnaît la chaîne littérale "Hello World" et récupère l'objet String interne.

Comprenons maintenant pourquoi il n'est pas recommandé d'utiliser new pour créer des chaînes :

  • Efficacité : Les littéraux de chaîne internes améliorent la consommation de mémoire et les performances. Lors de l'utilisation de new, un nouvel objet String est créé à chaque fois, ce qui entraîne une création d'objet et une surcharge inutiles.
  • Singletons : L'interning garantit qu'une seule instance d'un objet String avec une valeur particulière existe , ce qui en fait effectivement un singleton. Cela conduit à un comportement cohérent et empêche la duplication inattendue d'objets.
  • Égalité des objets : L'internement garantit que les littéraux de chaîne ayant la même valeur sont toujours égaux les uns aux autres. Cela correspond à la sémantique de l'égalité des chaînes en Java.

En résumé, l'internement des chaînes en Java élimine le besoin d'utiliser new pour créer des chaînes, offre des avantages en termes d'efficacité et garantit un comportement cohérent lorsque vous travaillez avec des littéraux de chaîne. .

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