想请问一下为什么这个代码运行出来不是“苹果好吃”而是“苹果”啊?
因为String的不可变性。modify函数返回的结果并不会改变str原来的值。你可以用一个字符串接收modify的返回值,例如:
String str1 = modify(str); System.out.println(str1);
这样输出的str1就是“苹果好吃”
string 一旦创建就是不了变得,你的方法改的是值地址,而不是值本身,main方法里的str与你方法里的s不是同一个东西。传递的是值地址。不是值。