package com.demo;
import java.lang.reflect.Field;
import java.util.*;
public class learn {
public static void main(String[] args){
Integer a = 1;
Integer b = 2;
System.out.println(a + " " + b);
swap(a, b);
System.out.println(a + " " + b);
}
public static void swap(Integer a, Integer b){
if(a == null || b == null){
return;
}
Class<Integer> integerClass = (Class<Integer>) a.getClass();
try{
Field value = integerClass.getDeclaredField("value");
value.setAccessible(true);
int temp = a;
value.setInt(a, b);
value.setInt(b, temp);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
java利用反射实现swap
最新推荐文章于 2024-08-26 16:40:46 发布