关于Integer类的一个有趣的面试问题

相信很多人觉得答案是false,false,因为Integer是一个类,把int类型的数据传给Integer类型的数据会创建一个对象,而a,b,c,d作为引用指向的是不同的地址,所以判断相同得到的结果应该是false

但这个想法就正中下怀了,实际上得到的结果是true,false

为什么呢?因为将int类型的数据转换成Integer类型需要调用Integer类中的静态方法valueOf,而valueOf方法的内部实现是这样的:

简单解释是,在-128到127范围内的int类型的数据要进行转换,直接调用数组中已经存储的数据即可,不在这个范围内的才重新创建新的对象,所以127在这个范围内,引用就直接指向数组中已有的数据即可,所以引用的值相同,而128不在这个范围,就需要重新创建对象,所以两个引用指向的对象不同,值也不同

相关推荐
w23617346012 分钟前
Tomcat:从零理解Java Web应用的“心脏”
java·前端·tomcat
yuren_xia7 分钟前
示例:Spring JDBC编程式事务
java·后端·spring
uhakadotcom12 分钟前
企业智能体网络(Agent Mesh)入门指南:基础知识与实用示例
后端·面试·github
陈大大陈22 分钟前
基于 C++ 的用户认证系统开发:从注册登录到Redis 缓存优化
java·linux·开发语言·数据结构·c++·算法·缓存
纪元A梦24 分钟前
华为OD机试真题——通过软盘拷贝文件(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
java·javascript·c++·python·华为od·go·华为od机试题
络734 分钟前
IDEA导入并启动若依项目步骤(SpringBoot+Vue3)
java·spring boot·mysql·vue·intellij-idea
几颗流星35 分钟前
SpringBoot项目集成达梦数据库
java·后端
帆仔哟1 小时前
【农气项目】基于适宜度的产量预报
java
MerlinTheMagic1 小时前
Spring AI 核心概念
java·人工智能·spring
独孤歌2 小时前
告别频繁登录:打造用户无感的 Token 刷新机制
安全·面试