对于基本数据类型,传的是值,对于引用类型传的是址。
public class TestArr {
public static void main(String[] args) {
int[] arr = {1,2};
testarr(arr);
int[] arr1 = {4,5};
swaparr(arr, arr1);
for(int ele:arr) {
System.out.println(ele);
}
}
//传引用
public static void testarr(int[] tmp) {
tmp[0] = 3;
}
//传引用,此处的交换只是交换了内部a,b的引用,使a=arr1,b=arr
public static void swaparr(int[] a, int[] b) {
int [] tmp;
tmp = a;
a = b;
b = tmp;
//此时b=arr,如果修改b[0],那么就修改了arr[0],因为他们指向同一个数组
b[0] = 9;//b = arr
}
}