[java] Replace a character at a specific index in a string?

I'm trying to replace a character at a specific index in a string.

What I'm doing is:

String myName = "domanokz";
myName.charAt(4) = 'x';

This gives an error. Is there any method to do this?

This question is related to java string replace indexing character

The answer is


String are immutable in Java. You can't change them.

You need to create a new string with the character replaced.

String myName = "domanokz";
String newName = myName.substring(0,4)+'x'+myName.substring(5);

Or you can use a StringBuilder:

StringBuilder myName = new StringBuilder("domanokz");
myName.setCharAt(4, 'x');

System.out.println(myName);

Similar questions with java tag:

Similar questions with string tag:

Similar questions with replace tag:

Similar questions with indexing tag:

Similar questions with character tag: