【发布时间】:2013-09-05 11:20:50
【问题描述】:
我不明白这段代码,为什么我的字符串c 没有在main 方法中更改,而是在changeString 中更改。你能给我解释一下吗?
class MainClass {
public static void main(String[] args) {
String c = "lalala";
changeString(c);
System.out.println("str in main = "+c);
}
public static void changeString(String str) {
str = str + "CHANGE!!!";
System.out.println("str in changeString = "+str);
}
}
结果:
str in changeString = lalalaCHANGE!!!
str in main = lalala
【问题讨论】:
-
在 Java 中可能有一千个重复的问题。检查此页面右侧面板上相关部分的内容
-
此链接将向您解释 Java 中字符串的概念 [检查此][1] [1]:javarevisited.blogspot.in/2010/10/…
-
我正在写一个答案。如果您想了解变量的工作原理,您真的应该阅读python.net/~mwh/hacks/objectthink.html。尽管这篇文章是用 Python 编写的,但在使用值引用的语言中,这个概念是相同的。 TL;DR - 变量是绑定到对象的名称,而不是保存对象的存储桶
标签: java string immutability