当数组传递给方法时,该方法接收什么?
我遇到了这个问题,我认为答案必须按值传递,就像将副本传递给方法一样,并且每当我们更改方法内的数组时,数组都不会更改。
请参阅此链接的第 9 个问题 https://www.interviewbit.com/java-mcq/
我并没有尝试自己编码和查看。
在Java中,所有参数都是按值传递的,包括数组。这意味着当您将数组传递给方法时,您实际上传递的是对该数组的引用的副本,而不是数组本身。这种区别对于理解方法内对数组的修改如何影响原始数组至关重要。
public class ArrayExample {
public static void modifyArray(int[] arr) {
arr[0] = 10; // Modifies the first element of the array
}
public static void main(String[] args) {
int[] myArray = {1, 2, 3};
modifyArray(myArray);
System.out.println(myArray[0]); // Outputs: 10
}
}
在此示例中,
modifyArray
方法更改myArray
的第一个元素。由于该方法收到了对 myArray
的引用的副本,因此更改会反映在原始数组中。