L'énigme de la "nouvelle chaîne (...)" en Java
En étudiant des exemples de code Java, vous rencontrerez peut-être une syntaxe intrigante : assignation d'une constante String à un objet String à l'aide de l'opérateur "new". Cette approche non conventionnelle diffère de la méthode plus courante d'attribution directe d'une constante String, comme indiqué ci-dessous :
String s = new String("Hello World");
contre
s = "Hello World";
Intrigué par cette syntaxe énigmatique, vous approfondissez son objectif et implications potentielles.
Objectif du « nouveau String(...)"
Le constructeur "new String(...)" initialise un objet String avec une copie de la chaîne d'argument. Cela n'est généralement pas nécessaire, car les chaînes sont immuables et leur contenu ne change donc jamais. Cependant, dans des scénarios spécifiques, cela peut être bénéfique :
Les pièges du « nouveau String(...)"
Malheureusement, le comportement de "new String(String)" dépend de l'implémentation et n'est pas documenté. Cela peut conduire à des résultats inattendus et à des pièges potentiels lors de la manipulation de chaînes.
Recommandation
Pour garantir un comportement indépendant de l'implémentation, il est recommandé d'utiliser "toCharArray()" lorsque créer une copie du tableau de caractères d'une chaîne :
String copy = new String(original.toCharArray());
Cette méthode alternative garantit qu'une copie distincte du tableau de caractères est créée, évitant ainsi toute surprise inattendue associée à "new String(...)".
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!