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 = "
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!