Maison  >  Article  >  Java  >  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
Susan Sarandonoriginal
2024-11-26 04:16:12667parcourir

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());
}

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());

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!

Déclaration:
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