我有一个关于更改 Java 方法中的变量值的问题。
这是我的代码:
public class Test {
public static void funk(int a, int[] b) {
b[0] = b[0] * 2;
a = b[0] + 5;
}
public static void main(String[] args) {
int bird = 10;
int[] tiger = {7};
Test.funk(bird, tiger);
}
}
在方法执行之后Test.funk(bird, tiger)
,bird 的值没有改变——它仍然是值10
,即使在funk()
方法中我们已经改变了值a = b[0] + 5;
另一方面,数组中元素的值发生了变化,因为我们有语句b[0] = b[0] * 2;
我不明白为什么一件事会改变而另一件事不会?有人可以为我解释一下吗。