在Java中,为什么String.Replace之后的String值没有更改?

我对此下面的程序有疑问

请参阅下面的程序

public class Kiran {

public static void main(String args[]) {

String str = "Test";

str.replace('T', 'B');

System.out.println("The modified string is now " + str);

}

}

我期望的是,一旦运行此程序,我应该将putput视为Best,但是令我惊讶的是输出是Test。

谁能告诉我,为什么会这样?

提前致谢 。

回答:

字符串在Java中是不可变的,这意味着您无法更改它们。当您调用replace方法时,您实际上是在创建一个新的String。

您可以执行以下操作:

String str = "Test";

str = str.replace('T', 'B');

这是重新分配。

以上是 在Java中,为什么String.Replace之后的String值没有更改? 的全部内容, 来源链接: utcz.com/qa/409103.html

回到顶部