我明白,所有的东西都是通过java引用的。但是为什么在这种情况下它不起作用呢?我曾认为它应该打印出“仇恨”而不是“爱”。为什么不通过推荐工作?
class Test {
static class Str {
public String str;
public void set(String str) {
this.str = str;
}
}
public static void main(String[] args) {
Str s = new Str();
String str = "Love";
s.set(str);
str = "Hate";
System.out.println(s.str);
}
}
引用是通过值传递的,这就是为什么。 – 2013-03-13 00:18:40
请参阅关于[这个问题]的讨论(http://stackoverflow.com/questions/5835386/java-string-variable-setting-reference-or-value) – Gus 2013-03-13 00:26:35
在Java中,所有事情都是**按值传递**。恰巧,对象的“值”是对其在堆中的位置的引用。 – 2013-03-13 00:28:26