Integer包装类的坑
来源:互联网 发布:淘宝订单险怎么关闭 编辑:程序博客网 时间:2024/06/05 09:34
首先,我最近复习回顾Java基础的时候,遇到一个问题,比如说
Integer i =new Integer(127);Integer ii = new Integer(127);System.out.println(i==ii);System.out.println("----------------------");Integer u = 127;Integer uu = 127;System.out.println(u==uu);System.out.println("----------------------");Integer o = 128;Integer oo =128;System.out.println(o==oo);
我想如果在你不看源码的情况下,肯定会以为答案是:false,true,true
但是答案是:
false----------------------true----------------------false
然后看到Integer的源码,
public static Integer valueOf(int i) { if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i); }
看到这段应该懂了,如果你放进来的某个数大于low或者小于high,那么从缓冲区中读取数据,如果都不满足则创建对象。
然后点击上面的low跟high,查看到IntegerCache.low和IntegerCache.high,你就明白了一切
阅读全文
0 0
- Integer包装类的坑
- Java关于Integer包装类的一个坑
- Integer类(包装类)的缓存
- Integer 包装类句柄的隐形变化
- JAVA包装类Integer的使用
- Java包装类的缓存Integer
- Java 包装类Integer的值比较
- Integer包装类
- Integer包装类
- Integer包装类
- JAVA 包装类中的Integer
- Java包装类Integer比较
- JAVA API 包装类 Integer
- Integer包装类常用方法
- java入门包装类-Integer
- 基础数据类型包装类的实验(INTEGER为例)
- 学习笔记 - java Integer包装类的缓存机制
- Integer和int的区别,包装类,基本数据类型,区别
- Java第十四天~十五天/11.11~11.12
- Android 带清空按钮的Edittext
- 第一次写博客
- spark分布式框架搭建详细步骤亲测有效
- RecyclerView嵌套多个布局,多个editText,解决文本输入框上下交换位置中的值问题
- Integer包装类的坑
- JAVA数据类型_面试题
- centos6系统登陆界面出现“没有正确安装GNOME电源管理器的默认配置
- Realm for Android
- RedHat安装Tesseract方式以及遇到升级GCC时遇到的问题和解决办法
- 四条数据恢复的注意事项
- 面试题整理-1-forward和redirect的区别
- Android Battery 架构
- JQuery练习删除