Maison > Java > javaDidacticiel > Pourquoi ma méthode de remplacement de chaîne Java ne fonctionne-t-elle pas ?

Pourquoi ma méthode de remplacement de chaîne Java ne fonctionne-t-elle pas ?

Susan Sarandon
Libérer: 2024-11-26 04:16:12
original
696 Les gens l'ont consulté

Why Isn't My Java String Replace Method Working?

Dépannage du problème de remplacement de chaîne Java

Lorsque vous travaillez avec des chaînes Java, il est important de se rappeler que les chaînes sont immuables. Cela signifie que toute modification apportée à une chaîne crée un nouvel objet chaîne plutôt que de modifier celui existant.

Considérez le code suivant :

String delimiter = "\*\*";
String html = "<html><head></head><body>**USERNAME** AND **PASSWORD**</body></html>";
Map<String, String> mp = new HashMap<String, String>();
mp.put("USERNAME", "User A");
mp.put("PASSWORD", "B");
for (Entry<String, String> entry : mp.entrySet()) {
  html.replace(delimiter + entry.getKey()+ delimiter, entry.getValue());
}
Copier après la connexion

Vous pouvez vous attendre à ce que ce code remplace le " Espaces réservés USERNAME" et "PASSWORD" dans la chaîne HTML avec les valeurs de la carte. Cependant, cela ne se produit pas car la méthode replace() ne modifie pas la chaîne existante. Au lieu de cela, il crée une nouvelle chaîne avec les remplacements effectués.

Pour résoudre ce problème, vous devez attribuer la nouvelle chaîne à la variable html :

html = html.replace(delimiter + entry.getKey()+ delimiter, entry.getValue());
Copier après la connexion

En faisant cela, vous' Je vais créer une nouvelle chaîne qui inclut les remplacements et l'attribuer à la référence HTML. De cette façon, les modifications seront reflétées dans la chaîne HTML d'origine.

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:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal