所以我在课堂上得到了这个问题。
consider the following method declaration:
public static int method(int[] x)
Is the int[] x parameter passed by reference or by value?
据我所知,只有原语可以通过值传递。因此,这是通过参考传递的?我从这里(Are arrays passed by value or passed by reference in Java?)读到“java只能通过值传递”#39;并且指向对象数组x的引用将作为值传递。
那么答案是什么? int [] x参数是通过引用还是通过值传递的?
有人也可以给我一个引用传递的例子,因为java不能这样做吗?
非常感谢答案 0 :(得分:2)
Java按值传递引用,但对象本身不是按值传递,也不是复制。 只需更改传递给某个函数的数组内部的内容,然后在外部查看。您会看到它已被更改
答案 1 :(得分:0)
Java中的所有内容都是按值传递的。考虑你的功能:
public static int method(int[] x) {
// If you change x here, it won't get reflected in the x. Because you pass a copy of the
// original x.
}