java swap(Integer a ,Integer b)实现交换?
问题如下:
public static void main(String[] args) {
Integer a=1, b=2;
System.out.println("before:a=" + a + ", b=" + b);
swap(a,b);
System.out.println("after:a=" + a + ", b=" + b);
}
public static void swap(Integer num1, Integer num2) {
Integer tmp = num1;
num1= num2;
num2= tmp;
}
输出结果为:
before:a=1, b=2
after:a=1, b=2
实际的jvm内存交互如下,实际a,b并没有发生交换
试验1:利用Java中的反射
Integer为对象,可以通过反射来改变对象中的属性
public static void main(String[] args) {
Integer a=1, b=2;
System.out.println("before:a=" + a + ",