替换字符串中特定索引处的字符?

2022-08-31 04:31:22

我正在尝试替换字符串中特定索引处的字符。

我正在做的是:

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

这会产生错误。有什么方法可以做到这一点吗?


答案 1

字符串在 Java 中是不可变的。您无法更改它们。

您需要创建一个替换了字符的新字符串。

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

或者你可以使用StringBuilder:

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

System.out.println(myName);

答案 2

将 String 转换为 char[],用索引替换字母,然后将数组转换回 String。

String myName = "domanokz";
char[] myNameChars = myName.toCharArray();
myNameChars[4] = 'x';
myName = String.valueOf(myNameChars);