<分区>
public class Foo {
public static void change(int[] arr){
arr = null;
}
public static void change2(int[] arr){
arr[0] = 99;
}
public static void main (String[] args){
int[] arr = {1,2,3,4,5};
change(arr);
System.out.println("it should null: "+Arrays.toString(arr));
change2(arr);
System.out.println("updated array : "+Arrays.toString(arr));
} }
控制台输出
it should null: [1, 2, 3, 4, 5]
updated array: [99, 2, 3, 4, 5]
当我将 int[ ] 传递给第一个方法时,我需要了解有关按引用传递的信息,即 change() 根据我的理解,它不会使数组为空,它应该更改为 NULL 作为数组引用是通过引用传递的,但如果我将数组传递给第二种方法,即 change2() 它会更改特定索引处的值。这意味着正在传递引用。