Java的.争论不会改变

Ufx*_*Ufx 1 java arguments

static void f(String s)
{
    s = "x";
}

public static void main(String[] args) {
  String s = null;
  f(s);
}
Run Code Online (Sandbox Code Playgroud)

为什么调用f(s)后s的值为null而不是"x"?

Oli*_*rth 5

因为s是参考.您将该引用的副本传递给该方法,然后在该方法内修改该副本.原件不会改变.