Maison > Java > javaDidacticiel > le corps du texte

Pourquoi les littéraux de chaîne sont-ils stockés dans un pool de constantes de chaîne en Java ?

WBOY
Libérer: 2023-09-11 21:17:02
avant
753 Les gens l'ont consulté

Pourquoi les littéraux de chaîne sont-ils stockés dans un pool de constantes de chaîne en Java ?

Il existe deux façons de créer un objet String en Java

  • En utilisant le nouvel opérateur
String str = new String("Tutorials Point");
Copier après la connexion
  • En utilisant la chaîne littérale
String str = "Tutorials Point";
Copier après la connexion

Chaque fois que nous appelons new String() en Java, cela créera un objet dans mémoire tas, et la chaîne littérale ira dans le pool de constantes de chaîne (SCP).

Pour les objets, JVM utilise SCP, qui permet une gestion efficace de la mémoire en Java. Contrairement aux autres objets Java, ils ne gèrent pas les objets String dans la zone du tas, mais introduisent un pool de constantes String. Une caractéristique importante du pool de constantes String est que s’il existe déjà une constante String dans le pool, le même objet String ne sera pas créé.

Exemple

public class SCPDemo {
   public static void main (String args[]) {
      String s1 = "Tutorials Point";
      String s2 = "Tutorials Point";
      System.out.println("s1 and s2 are string literals:");
      System.out.println(s1 == s2);
      String s3 = new String("Tutorials Point");
      String s4 = new String("Tutorials Point");
      System.out.println("s3 and s4 with new operator:");
      System.out.println(s3 == s4);
   }
}
Copier après la connexion

Sortie

s1 and s2 are string literals:
true
s3 and s4 with new operator:
false
Copier après la connexion

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:tutorialspoint.com
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