Échec de la méthode de remplacement de chaîne Java [Duplicate]
Certaines implémentations Java ont signalé que la méthode replace() ne parvenait pas à remplacer correctement des chaînes spécifiques dans un chaîne donnée. Cette anomalie se produit en raison de la nature immuable des objets String.
Analyse du code problématique :
Dans l'extrait de code fourni :
< pre>
Délimiteur de chaîne = "";
String html = "
Explication du problème :
La méthode replace() dans Java ne mute pas l'objet String d'origine. Au lieu de cela, il renvoie une nouvelle chaîne avec les remplacements appliqués. C'est le point de discorde : la variable html d'origine continue de contenir la valeur String d'origine.
Résolution :
Pour rectifier cela, le code doit être modifié pour explicitement réaffectez la variable html avec le résultat de l'opération replace() :
<br>html = html.replace(delimiter Entry.getKey() delimiter, Entry.getValue());<br>
Conclusion :
Comprendre l'immuabilité des objets String est crucial lors de l’utilisation de méthodes telles que replace(). L'attribution de l'objet String renvoyé à la variable d'origine garantit que les remplacements prévus prennent effet.
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!