交换2个Integer的数据
来源:互联网 发布:2016年经济危机知乎 编辑:程序博客网 时间:2024/05/22 04:30
//交换2个数据
public static void main(String[] args) throws Exception {
// Integer a=1;
// Integer b=2;
Integer a=new Integer(1);
Integer b=new Integer(2);
System.out.println(a+"---"+b);
swap(a, b);
System.out.println(a+"---"+b);
}
/**
* 这里虽然是引用传递类型,但是Integer内部并没有提供改变内部值的方法,所以可以使用反射
* @param a
* @param b
* getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段
* @throws Exception
*/
private static void swap(Integer a, Integer b) throws Exception{
int tem=a.intValue();
Field field=Integer.class.getDeclaredField("value");
field.setAccessible(true);
//field.set也一样
field.setInt(a, b);
field.setInt(b, tem);
//field.set 这种方式会因为自动拆装箱和缓存导致结果有问题
// field.set(a, b);
// field.set(b, tem);
}
- 交换2个Integer的数据
- java中交换两个Integer类型的数据
- 通过js实现2个select控件的交换数据
- 封装android 通讯使用二进制进行数据交换 2个必要的读取,写入操作
- 使用jQuery中 select option:selected 实现2个下拉框之间数据的交换
- 不添加第三个变量交换两个变量的数据
- Jsp用于交换数据的4个map结构
- 交换2个变量的值
- 交换2个数值的方法
- 交换数组的任意2个元素
- 交换2个数值的方法
- 不用第三个数据进行数据交换
- 不用第三个变量交换2个变量的值
- 数据交换的本质
- 数据的交换输出
- 数据的交换输出
- 数据的交换输出
- 数据的交换输出
- Future Pattern
- linux学习第三十三篇:rsync工具介绍,rsync常用选项,rsync通过ssh同步
- 文档预览比较通用的解决方案
- 安全与隐私没有允许任何来源选项
- XCode9: iPhone is busy: Preparing debugger support for iPhone
- 交换2个Integer的数据
- 【Scikit-Learn 中文文档】密度估计
- 汉字编码
- 编程思想 命名规范
- python 字符串格式化表达式
- 机器学习算法练习之(二):Python和Tensorflow分别实现简单的神经网络
- 目标检测系列论文阅读
- 数据在内存中是如何存储的
- Python: 什么是*args和**kwargs?