这个是我碰到比较多次的问题,一开始是不解,不过查了下大家都觉得没什么,而且只是加个final好像影响也不大,于是我就直接加个final了事,之后也不管了
直到昨天:
遇到了这个宿命般的问题
难道解决方法是把它换成引用类型?
我去,居然不行,包装类不能改变值,尼玛,怎么会这么巧
嘿,妈的,那就自己来!自己定义一个类型!
 
所以这样直接改成final果然是会遇到问题的,比如我希望它变的时候,最简单的情况就是一个for循环的i++
于是我很自然去查看了final的特性,发现有个可以利用的漏洞,那就是对于引用类型final只是限定了它栈中的地址不能改,而堆中的值可以随便改
于是我马上想到了int的包装类,为此我特地好好看了下Intger,结果发现它没有只改变值的API!
 
短暂的挫折过后,我立刻想到了,那还不简单,自己定义一个类型就好了,比如这样:
自己定义了一个简单的类型:
 
本来以为这个事情就这么完美结束了,直到我今天查其他资料的时候,看到有人用了这么一个非常机智的技巧:
 
 
这才真是完美!所以有时候还是需要一点机智
 
 
具体为什么要这样好像比较复杂,暂时跳过:

最新文章

  1. Struts2 源码分析——配置管理之ContainerProvider接口
  2. Android(shape.xml)
  3. 洛谷P2746 [USACO5.3]校园网Network of Schools
  4. XSHELL下直接下载文件到本地(Windows)
  5. Myeclipse如何关联源码
  6. 【Win10】UAP/UWP (通用程序) 开发初体验(1) 之 开发准备
  7. Hbase之使用回调函数进行批处理操作
  8. K均值算法实现
  9. SQL中VARCHAR与NVARCHAR存储区别
  10. 杭电oj 2095 & 异或^符号在C/C++中的使用
  11. Java thread中对异常的处理策略
  12. Github Pages 静态网页建站
  13. android之DPAD上下左右四个键控制
  14. C++第一篇--类的引入
  15. verilog实验3:AD转换后串口输出到PC端
  16. Hadoop 学生平均成绩
  17. C++STL stack
  18. JVM 垃圾回收算法及案例分析
  19. ats Linux Bridge内联
  20. Linux登录失败处理功能

热门文章

  1. Disruptor LMAX学习
  2. Ansible 管理任务计划
  3. Django SimpleCMDB WSGI
  4. 使用 PyQuery
  5. 深入理解tomcat9---源码构建
  6. jquery前端验证框架
  7. mysql学习笔记(三)
  8. PHP array_unique()函数去除重复元素
  9. 【大数据系列】hadoop集群设置官方文档翻译
  10. git-常用命令一览表