Heim > Java > javaLernprogramm > Warum scheint meine Java-String-Methode „replace()' nicht zu funktionieren?

Warum scheint meine Java-String-Methode „replace()' nicht zu funktionieren?

Patricia Arquette
Freigeben: 2024-11-19 21:59:03
Original
779 Leute haben es durchsucht

Why Does My Java String `replace()` Method Not Seem to Work?

Java-String-Ersetzungsmethode fehlgeschlagen [Duplikat]

Bestimmte Java-Implementierungen haben gemeldet, dass die Methode „replace()“ bestimmte Zeichenfolgen innerhalb einer nicht angemessen ersetzt gegebener String. Diese Anomalie tritt aufgrund der unveränderlichen Natur von String-Objekten auf.

Analyse des problematischen Codes:

Im bereitgestellten Codeausschnitt:

< pre>
String delimiter = "";
String html = "BENUTZERNAME UND PASSWORT";
Map mp = new HashMap();
mp.put("USERNAME", "User A");
mp.put("PASSWORD", "B");
for ( Eintrag Eintrag: mp.entrySet()) {
html.replace(delimiter enter.getKey() delimiter, enter.getValue());
}

Erklärung des Problems:

Die Methode replace() in Java verändert das ursprüngliche String-Objekt nicht. Stattdessen wird ein neuer String mit den angewendeten Ersetzungen zurückgegeben. Das ist der Streitpunkt: Die ursprüngliche HTML-Variable behält weiterhin den ursprünglichen String-Wert.

Lösung:

Um dies zu beheben, sollte der Code explizit geändert werden Ordnen Sie die HTML-Variable mit dem Ergebnis der Operation replace() neu zu:

<br>html = html.replace(delimiter enter.getKey() delimiter, enter.getValue());<br>

Schlussfolgerung:

Das Verständnis der Unveränderlichkeit von String-Objekten ist entscheidend, wenn Methoden wie replace() verwendet werden. Durch Zuweisen des zurückgegebenen String-Objekts zur Originalvariablen wird sichergestellt, dass die beabsichtigten Ersetzungen wirksam werden.

Das obige ist der detaillierte Inhalt vonWarum scheint meine Java-String-Methode „replace()' nicht zu funktionieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage