public class SomeClass {
public static void f(int x, int [] y, int[] z){
x=2;
y[0]=x;
z= new int[5];
z[0]=555;
}
public static void main(String[] args){
int x= 111;
int[] y={222,333,444,555};
int[] z={666,777,888,999};
f(x,y,z);
System.out.println(x);
System.out.println(y[0]);
System.out.println(z[0]);
}
}
此代码的输出为111-2-666,f(x,y,z)是多少;到底怎么办?为什么在执行后它将x打印为111,而y [0]得到另一个x的值并打印2和z保持相同,尽管它说z [0]是555?除了y [0]之外,一切都保持不变,我不明白为什么。