我正在重新分配String变量的值。由于String是不可变的,因此如何在没有错误的情况下重新分配此赋值。
答案 0 :(得分:2)
如果您的意思是,您正在这样做:
String s = "one";
s = "two";
...并想知道它为什么起作用,这是因为字符串是不可变的,而变量不是。您可以更新变量以指向其他字符串。您不能更改它指向的字符串以使其具有不同的字符。¹
¹(实际上,您可以通过查找底层字符数组并对其进行更改来反映一些JDK实现。但是从理论上讲,从理论上讲,您不能这样做。)