今天遇到一个让我很莫名其妙的问题,代码如下:
public static void main() {
String str = "abcdefg";
str.replace("a", "A");
System.out.println(str);
}
大概的意思其实很简单,我想把小写的a替换为大写的A。其实也就是想用replace方法替换掉指定的字符,但是发现并没有,嗯,是的,并没有任何用!
其实是我想当然,犯了个低级错误,所以特写此文,安慰下自己受伤的心灵,主要是增加下记忆,以此为戒!
修改代码如下:
str = str.replace("a", "A");
replace并不作用与源字符串,而是返回新字符串,好吧!

本文通过一个简单的示例解释了 Java 中 String 类的 replace 方法的行为。作者原本期望使用该方法直接修改原始字符串,却发现字符串并未发生变化。文章揭示了 replace 方法实际上返回的是一个新字符串而非修改原字符串的事实。
1万+

被折叠的 条评论
为什么被折叠?



