Heim  >  Artikel  >  Java  >  Warum funktioniert meine Java-String-Replace-Methode nicht?

Warum funktioniert meine Java-String-Replace-Methode nicht?

Susan Sarandon
Susan SarandonOriginal
2024-11-26 04:16:12665Durchsuche

Why Isn't My Java String Replace Method Working?

Fehlerbehebung beim Ersetzen von Java-Strings

Bei der Arbeit mit Java-Strings ist es wichtig, sich daran zu erinnern, dass Strings unveränderlich sind. Dies bedeutet, dass alle an einer Zeichenfolge vorgenommenen Änderungen ein neues Zeichenfolgenobjekt erstellen, anstatt das vorhandene zu ändern.

Beachten Sie den folgenden Code:

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

Sie können davon ausgehen, dass dieser Code das „ ersetzt. Platzhalter „USERNAME“ und „PASSWORD“ im HTML-String mit Werten aus der Karte. Dies geschieht jedoch nicht, da die Methode replace() die vorhandene Zeichenfolge nicht ändert. Stattdessen wird eine neue Zeichenfolge mit den vorgenommenen Ersetzungen erstellt.

Um dieses Problem zu lösen, müssen Sie die neue Zeichenfolge der HTML-Variablen zuweisen:

html = html.replace(delimiter + entry.getKey()+ delimiter, entry.getValue());

Auf diese Weise können Sie Ich erstelle eine neue Zeichenfolge, die die Ersetzungen enthält, und weise sie der HTML-Referenz zu. Auf diese Weise werden die Änderungen im ursprünglichen HTML-String widergespiegelt.

Das obige ist der detaillierte Inhalt vonWarum funktioniert meine Java-String-Replace-Methode nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn