【发布时间】:2021-01-13 11:26:38
【问题描述】:
在将数组传递给 java 中的函数然后将其分配给新数组时,我得到的是相同的旧数组。
public static void main(String[] args) {
int[] arr1 = { 1, 2, 3, };
changes(arr1);
for (int val : arr1) {
System.out.println(val);
}
}
private static void changes(int[] arr1) {
int[] arr2 = { 7, 8, 9 };
arr1 = arr2;
}
为什么在传递数组处理传递对该数组的引用时会这样?
【问题讨论】:
-
Java 是一种按值传递的语言。对象的值是对该对象的引用。这包括数组。