小编dev*_*1ce的帖子

str.replaceAll() 和 str = str.replaceAll() 的区别

之间有什么区别

str.replaceAll(); //1
Run Code Online (Sandbox Code Playgroud)

str = str.replaceAll(); //2
Run Code Online (Sandbox Code Playgroud)

当我尝试第一个时,编译器没有给出错误,但字符串根本没有改变,但第二个工作正常。第一个是做什么的?示例代码如下:

    String str = "abcdefgh";
    str.replaceAll("abcd", ""); //1st replacement
    System.out.println(str);
    str = str.replaceAll("abcd", ""); //2nd replacement
    System.out.println(str); 
Run Code Online (Sandbox Code Playgroud)

第一个之后的输出是

abcdefgh
Run Code Online (Sandbox Code Playgroud)

在第二个之后是

efgh
Run Code Online (Sandbox Code Playgroud)

我知道我们应该使用第二个,因为它更新但仍然不是 String 对象?我们就像为它调用 replaceAll() 方法,它应该改变它,但为什么不呢?任何想法将不胜感激。

java string replace

-3
推荐指数
1
解决办法
101
查看次数

标签 统计

java ×1

replace ×1

string ×1