uty*_*ybo 1 java string replace
theString如果我在此代码中使用替换方法,为什么还需要重新定义变量:
String theString = "I w@nt to h@ve the regul@r \"A\"!";
theString = theString.replace("@", "a");
System.out.println(theString);
Run Code Online (Sandbox Code Playgroud)
为什么我不能这样做:
theString.replace("@", "a");
Run Code Online (Sandbox Code Playgroud)
那就是它?
字符串是不可变的 - 一旦创建它们就无法更改它们.当然也有例外,如果你使用反射魔法,但在大多数情况下,它们应该被视为不变量.因此,该方法replace(...)不会更改 String,它不能,而是创建并返回一个新的 String.因此,为了能够使用新的String,您必须访问其引用,这可以通过将其分配给String变量甚至是原始的String变量来完成.这个讨论深入探讨了对象和引用变量之间的区别.
| 归档时间: |
|
| 查看次数: |
479 次 |
| 最近记录: |