我无法理解为什么String不能像对象那样工作,以致于当您更改它时,分配给它的变量也会改变。
我尝试制作一个字符串数组,然后将一个元素的引用分配给一个变量(之所以说引用,是因为从我的理解中,Java是按值传递,而内存引用是“值”),
当我更改字符串时元素,该变量不反映更改。
String[] arr={"abc","def"};
String s=arr[1];
arr[1]+="123r";
for (String i:arr) {System.out.print(i);}
System.out.println(); // prints "abcdef123r"
System.out.println(s); //prints "def"
Run Code Online (Sandbox Code Playgroud)
也许,从我一直在阅读的内容来看,赋值运算符不能像Strings那样工作。