通过引用数组实现swap()交换
主要是区分 基本数据类型 和 引用数据类型
/*
* 当参数是基本数据类型时,方法不能修改实际参数的值
* 当参数是引用类型时 方法通过地址应用改变了实际参数对象的内容
*/
public class Comparable{
public static void main(String[] args)
{
int[] i = {3, 5};
System.out.println("交换 前"+i[0]+" "+i[1]);
swap(i);
System.out.println("交换 后"+i[0]+" "+i[1]);
}
public static void swap(int[] a)
{
int temp = a[0];
a[0] = a[1];
a[1] = temp;
}
}
直接传递参数给函数swap,传递的是变量的拷贝。
总结:引用类型才可以交换。因为基本数据类型是直接赋值,而引用类型直接赋的是地址,地址指向的是同一个对象,所以能改变。