String的replace方法会发生什么?

时间:2015-10-16 18:54:59

标签: java string immutability

我们知道String对象是不可变的。但是替换方法实际上正在改变它的状态。

那么在这种情况下发生了什么?

1 个答案:

答案 0 :(得分:2)

替换方法在替换后返回一个新字符串,而不是原始字符串。

查看source code并查看最后一行,您会看到。

return new String(0, len, buf);

不仅要替换几乎所有的方法,还要返回新的字符串,而不是原始字符串。