Heim > Java > javaLernprogramm > Wie kann ich ein Zeichen an einem bestimmten Index in einem unveränderlichen Java-String ersetzen?

Wie kann ich ein Zeichen an einem bestimmten Index in einem unveränderlichen Java-String ersetzen?

Susan Sarandon
Freigeben: 2024-12-22 09:47:19
Original
280 Leute haben es durchsucht

How Can I Replace a Character at a Specific Index in an Immutable Java String?

Unveränderliche Zeichenfolgen: Zeichenersetzung an einem bestimmten Index

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
Nach dem Login kopieren

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.

Lösung: Erstellen einer neuen String

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);
Nach dem Login kopieren

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.

Alternative Lösung: Verwendung von StringBuilder

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);
Nach dem Login kopieren

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!

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