Bra*_*don 6 java string immutability
String s = ...;
s = s.substring(1);
Run Code Online (Sandbox Code Playgroud)
这可能吗?我以为你无法在Java中更改String对象.
字符串对象是不可变的,这意味着所引用的实例的值s不能更改.
您的代码不会改变实例.
相反,它更改s引用以引用新的字符串实例.
例如:
String a = "1";
String b = a;
a = "2";
Run Code Online (Sandbox Code Playgroud)
执行此代码后,b仍然是"1".
该行b = a设置b为引用当前引用的同一"1"实例a.
当您随后编写时a = "2",您正在更改a变量以引用另一个("2")实例.
但是,仍然引用的原始"1"实例b没有改变.