关于Integer的一些知识
来源:互联网 发布:富图宝 知乎 编辑:程序博客网 时间:2024/06/14 03:48
关于Integer的一些知识
昨天有人问我关于Integer包装类直接赋值的问题,经过查证,以new方式生成Integer对象时一定分配了空间给这个对象,但直接赋值如:Integer = 100时,当这个值在-128到127之间时,不会生成新的对象,当不在该范围内时会生成新的对象
以下是Integer.valueof(int x)的源码
public static Integer valueOf(int i){ assert IntegerCache.high >= 127; if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache.low)]; else return new Integer(i); }
当I在范围内时,返回的是IntegerCache.cache[i + (-IntegerCache.low)];
Integer将所有在范围内的数存在了一个对象当中。
这个结论同样可以用来解释Integer大小比较出现的奇怪现象
阅读全文
0 0
- 关于Integer的一些知识
- 关于Integer对象的一些小知识
- 关于Integer的知识
- 关于Integer的一些"=="比较
- 关于int和Integer的一些认识
- 关于blog的一些知识
- 关于字符集的一些知识
- 关于MIME的一些知识
- 关于指针的一些知识
- 一些关于sulinux的知识
- 关于MIME的一些知识
- 关于filter的一些知识
- 关于硬盘的一些知识
- 关于计算机硬件的一些知识
- 关于 CouchDB 的一些知识
- 关于搜索的一些知识
- 一些关于_WIN32_WINNT的知识
- 关于CFileDialog的一些知识
- checkbox 多选点菜模拟
- 【设计模式】MVC 模式
- Redux状态管理6Redux调试工具
- Spring WebSocket入门教程
- Ubuntu14 搜狗输入法 安装
- 关于Integer的一些知识
- 数据库操作
- 【react】利用prop-types第三方库对组件的props中的变量进行类型检测
- 【设计模式】组合模式(Composite Pattern)
- 主成分分析(PCA)一次讲个够
- 设计模式--状态模式
- Linux世界里的时间
- Android增量更新
- org.apache.spark.shuffle.MetadataFetchFailedException:Missing an output location for shuffle 5