Maison >Java >javaDidacticiel >Pourquoi pouvez-vous créer des chaînes en Java sans le « nouveau » mot-clé ?
Chaînes : Objets sans le "nouveau" mot-clé
Les chaînes Java sont bien des objets, mais elles sont uniques dans le sens où elles peuvent être créées sans le mot clé "nouveau". Cela soulève la question : pourquoi ?
Au départ, les chaînes peuvent sembler créées comme d'autres objets :
Object obj = new Object();
Cependant, les chaînes ne sont pas initialisées de cette manière :
String str = "Hello World";
Internement des littéraux de chaînes
Pour comprendre cet écart, nous devons approfondir le concept d'internement de chaînes. L'internement signifie que chaque occurrence d'une chaîne littérale spécifique (par exemple, "abcd") fait référence à une seule instance de cette chaîne, plutôt que de créer une nouvelle instance à chaque fois.
En Java, les chaînes déclarées avec des guillemets doubles sont traités comme des littéraux et sont automatiquement internés. Cela signifie que :
String a = "abcd"; String b = "abcd";
entraînera :
a == b; // True
Création de chaîne avec "nouveau"
Bien que l'internement soit activé pour la chaîne littéraux, vous pouvez toujours créer des chaînes en utilisant le mot-clé "new" :
String a = new String("abcd"); String b = new String("abcd");
Cependant, dans ce cas, il est possible d'avoir :
a == b; // False
Avantages du stage
Les littéraux de chaîne internes offrent plusieurs avantages :
Remarque : Il est toujours recommandé d'utiliser le . méthode equals() pour comparer des chaînes, même pour les chaînes internes, car elle vérifie l'égalité du contenu.
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!