package extend.case01;
public class showcase {
public static void main(String[] args) {
//定义一个初始数组
int[] list = {1, 2, 3, 4, 5};
//调用自定义函数reverse
reverse(list);
for (int i = 0; i < list.length; i++)
System.out.println(list[i] + " ");
}
public static void reverse(int[] list){
int[] newlist = new int[list.length];
//把list数组里的数据反向存储给newlist数组
for(int i=0;i<list.length;i++)
newlist[i] = list[list.length - 1 - i];
//把newlist数组的首地址赋值给list
list=newlist;
}
}
数据输出的结果为1 2 3 4 5
自定义函数最后一步将newlist数组的地址实际上是赋给了形参list,自定义函数在被调用的时候创建了一个存储了传入数据的新数组list,与实参list地址不同,导致实参list地址未改变,数组元素未倒置。