标签: java string immutability
我们知道String对象是不可变的。但是替换方法实际上正在改变它的状态。
那么在这种情况下发生了什么?
答案 0 :(得分:2)
替换方法在替换后返回一个新字符串,而不是原始字符串。
查看source code并查看最后一行,您会看到。
return new String(0, len, buf);
不仅要替换几乎所有的方法,还要返回新的字符串,而不是原始字符串。