我们知道如果要交换两个数的值很简单,如果利用方法交换尼?
当我们利用普通类型去操作是结果肯定会大失所望,那么是为什么尼:
//无意义代码附上
public static void swap(int num1,int num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
可见他原来的值根本没有变。
那么采用引用类型尼:
//先上代码
class Num {
int number;
public Num(int number){
this.number=number;
}
}
public class Demo{
public static void main(String[] args){
Num num1 = new Num(10);
Num num2 = new Num(20);
swap(num1,num2);
}
public static void swap(Integer num1,Integer num2) {
int temp = num1.number;
num1.number = num2.number;
num2.number = temp;
}
}
swap()方法执行后改变的是堆里面的值。