Why not just use the replace method
//We want to replace index 1 with the character 'a', so here's what we do
String s = "Hello";
char oldChar = s.charAt(1); //returns the character at index 1
String newString = s.replace(oldChar, 'a');
This is what you wanted right?