Maison >Java >javaDidacticiel >Objets chaîne et littéraux chaîne : quelle est la différence ?
La divergence entre les objets chaîne et les littéraux chaîne, définie avec new String("abc") et "abc", respectivement, réside dans leurs mécanismes de stage et de création d'objets.
Les littéraux de chaîne bénéficient de l'avantage potentiel de l'internement, un processus dans lequel la chaîne est stockée dans un pool de chaînes précédemment rencontrées. Cela améliore l'efficacité puisque la chaîne est accessible par référence plutôt que d'être créée à nouveau.
String a = "abc"; String b = "abc"; System.out.println(a == b); // true
Ici, a et b font référence à la même chaîne interne, représentée par true.
En revanche, les objets chaîne créés avec new String() sont instanciés en tant qu'entités distinctes, chacune avec son propre caractère unique. référence.
String c = new String("abc"); String d = new String("abc"); System.out.println(c == d); // false
Dans ce cas, == renvoie false car c et d font référence à des objets chaîne distincts, même s'ils contiennent la même séquence de caractères.
Pour un code optimal, les chaînes littérales sont le choix préféré. Ils sont plus lisibles et permettent au compilateur d'optimiser votre code en utilisant des stages, lorsque cela est possible.
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!