这是通过引用传递还是通过值传递

时间:2014-11-15 14:36:16

标签: java arrays pass-by-reference pass-by-value

所以我在课堂上得到了这个问题。

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不能这样做吗?

非常感谢

2 个答案:

答案 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.

}