Beim Umgang mit Zeichenfolgen in Java kann es vorkommen, dass ein bestimmtes Zeichen an einem bestimmten Index ersetzt werden muss. Im Gegensatz zu veränderlichen Datentypen sind Zeichenfolgen in Java jedoch unveränderlich, was bedeutet, dass sie nicht direkt geändert werden können.
Beachten Sie den folgenden Codeausschnitt:
String myName = "domanokz"; myName.charAt(4) = 'x'; // Throws an error
Dieser Code versucht, das Zeichen am Index zu ändern 4 in der Zeichenfolge „myName“, führt jedoch zu einem Fehler, da Zeichenfolgen unveränderlich sind.
Um dies zu umgehen, muss man einen neuen String mit der gewünschten Modifikation erstellen. Dies kann mit der Substring-Methode erreicht werden:
String myName = "domanokz"; String newName = myName.substring(0, 4) + 'x' + myName.substring(5);
Die Substring-Methode extrahiert Teilstrings aus dem Originalstring basierend auf angegebenen Indizes. In diesem Fall werden zwei Teilzeichenfolgen erstellt: eine von Index 0 bis Index 4 (ohne Index 4) und eine weitere von Index 5 bis zum Ende der Zeichenfolge. Diese Teilzeichenfolgen werden dann mit dem gewünschten Zeichen „x“ verkettet, um die neue Zeichenfolge newName zu bilden.
Alternativ kann man die StringBuilder-Klasse verwenden, die dies ermöglicht Erstellung veränderlicher String-Darstellungen. Hier ist ein Beispiel:
StringBuilder myName = new StringBuilder("domanokz"); myName.setCharAt(4, 'x'); System.out.println(myName);
Die StringBuilder-Klasse stellt Methoden wie setCharAt bereit, die Änderungen an der zugrunde liegenden String-Darstellung ermöglichen. Durch die Verwendung dieser Klasse kann vermieden werden, dass jedes Mal eine neue Zeichenfolge erstellt wird, wenn eine Zeichenersetzung erforderlich ist. Sobald die Änderungen abgeschlossen sind, kann die toString-Methode verwendet werden, um die resultierende Zeichenfolge abzurufen.
Das obige ist der detaillierte Inhalt vonWie kann ich ein Zeichen an einem bestimmten Index in einem unveränderlichen Java-String ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!