【发布时间】:2011-03-29 17:29:02
【问题描述】:
当我看到下面的代码没有按预期工作时,我有点困惑。
我认为 Java 总是通过引用将变量传递给函数。因此,为什么函数不能重新分配变量?
public static void main(String[] args) {
String nullTest = null;
setNotNull(nullTest);
System.out.println(nullTest);
}
private static void setNotNull(String s) {
s = "not null!";
}
这个程序输出null。
【问题讨论】:
-
这并不意味着什么。你可以实例化你可以实例化的任何东西,但你不能改变调用者传递给你的值。
标签: java variables null pass-by-reference pass-by-value