基本数据类型与引用类型
先看代码
/不会改变原来数组结构
public swap(int a ,int b ){
int t=a;
a=b;
b=t;
}
swap(arr[i],arr[j]);
/会改变的情况
public swap(int[] arr,int a, int b ){
int t=arr[a];
arr[a]=arr[b];
arr[b]=t;
}
swap(arr,i,j);
因为数组是数据引用类型,所以在传递时候会引用这个数据对象才会修改。
而int是基本数据类型,当用方法中的a=b时候看似是arr[i]=arr[j],实际只是开辟一个新的int空间。没有改变arr数组的值