博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Intger 自动装拆箱
阅读量:6088 次
发布时间:2019-06-20

本文共 830 字,大约阅读时间需要 2 分钟。

hot3.png

public static void main(String[] args) {    Integer a = 1;    Integer b = 2;    swap(a, b);    System.out.println("a="+a);    System.out.println("b="+b);}public static void swap(Integer var1, Integer var2) {    try {        Field value = Integer.class.getDeclaredField("value");        value.setAccessible(true);        int tmp = var1;        value.set(var1, var2);        // tmp自动装箱成Integer  调用valueOf(int)        // value.set(Object,Object)        // value.set(var2, tmp);        value.setInt(var2, tmp); // 不走自动装箱        // IntegerCache里的值被更改了        System.out.println(Integer.valueOf(1));        System.out.println(Integer.valueOf(2));    } catch (NoSuchFieldException e) {        e.printStackTrace();    } catch (IllegalAccessException e) {        e.printStackTrace();    }}

转载于:https://my.oschina.net/zhuqianli/blog/1574436

你可能感兴趣的文章
关于大型网站技术演进的思考(十五)--网站静态化处理—前后端分离—中(7)...
查看>>
自动共享内存管理(转)
查看>>
软件架构学习小结
查看>>
遗传算法入门到掌握(一)
查看>>
html5 canvas结构基础
查看>>
Oracle SQL函数之转换函数
查看>>
Java从零开始学四十七(注解简述)
查看>>
LT和ET模式
查看>>
由一道面试题来了解进程间的通信
查看>>
MySQL索引原理及慢查询优化
查看>>
Swing多线程编程(转)
查看>>
jquery submit()不执行
查看>>
StringBuffer and StringBuilder
查看>>
使用Charles进行网络请求抓包解析
查看>>
selenium更改readonly属性
查看>>
SSh框架结构(Struts2.1+Hibernate4.0+Spring3.1)
查看>>
我的Vim配置(自动补全/树形文件浏览)
查看>>
手机管理中的应用【6】——电源管理篇
查看>>
LeetCode——Valid Anagram
查看>>
【转】需求为何要往下挖[摘录]
查看>>