下面 Integer 类型的数值比较输出的结果为?


简单的说,如果整型字面量的值在-128 到 127 之间,那么不会 new 新的 Integer 对象,而是直接引用常量池中的 Integer 对象,100是在范围之内,所以直接引用常量池中的Integer对象就可以了,而150已经超出了范围,所以需要new一个新的Integer对象,因此地址值不同,所以上面的面试题中 f1== f2的结果是 true,而 f3 ==f4 的结果是 false。

如果不明就里很容易认为两个输出要么都是 true 要么都是 false。首先需要注意的是 f1、f2、f3、f4 四个变量都是 Integer 对象引用,所以下面的==运算比较的不是值而是引用。装箱的本质是什么呢?当我们给一个 Integer 对象赋一个 int 值的时候,会调用 Integer 类的静态方法 valueOf,如果看看 valueOf 的源代码就知道发生了什么。

源码:


IntegerCache 是 Integer 的内部类,其代码如下所示:

java数据类型常见面试题相关推荐

  1. Java开发常见面试题详解(LockSupport,AQS,Spring循环依赖,Redis)_3

    Java开发常见面试题详解(LockSupport,AQS,Spring循环依赖,Redis)_3 总览 问题 详解 String.intern()的作用 link LeetCode的Two Sum题 ...

  2. Java基础常见面试题(一)

    Java基础常见面试题(一) 1. 为什么说 Java 语言"编译与解释并存"? 我们可以将高级编程语言按照程序的执行方式分为两种: 编译型 :编译型语言会通过编译器将源代码一次性 ...

  3. java陷阱常见面试题_Java常见陷阱

    java陷阱常见面试题 总览 Java是一种极简主义的语言,具有比其他语言故意更少的功能,尽管如此,Java仍然具有产生奇怪效果的边缘情况,甚至具有令人惊讶的效果的一些常见情况也会使您轻而易举. 如果 ...

  4. Java开发常见面试题详解(JVM)_2

    Java开发常见面试题详解(JVM)_2 JVM 问题 详解 JVM垃圾回收的时候如何确定垃圾?是否知道什么是GC Roots link 你说你做过JVM调优和参数配置,请问如何盘点查看JVM系统默认 ...

  5. Java工程师常见面试题集锦

    Java工程师常见面试题集锦(一)互联网人必看!(附答案及视频教程,持续更新) 2019年01月02日 14:01:14 CSDNedu 阅读数:653 大牛也怕面试题,尤其是基础题,在面试中如果出现 ...

  6. 北大java面试,北大青鸟java 面试--常见面试题(下)

    在之前的两篇文章中,我们已经提到了java面试中的常见问题,还有部分内容,合肥北大青鸟合工大校区的袁老师在本文也给出,希望对大家的面试过程有些帮助.这是我总结的最后一部分常见面试题:分别是数据库,基础 ...

  7. Java多线程常见面试题及答案汇总1000道(春招+秋招+社招)

    Java多线程面试题以及答案整理[最新版]Java多线程高级面试题大全(2021版),发现网上很多Java多线程面试题都没有答案,所以花了很长时间搜集,本套Java多线程面试题大全,汇总了大量经典的J ...

  8. Java虚拟机常见面试题

    2019独角兽企业重金招聘Python工程师标准>>> 1.java引用的四种状态 强引用.软引用.弱引用.虚引用. 强引用 new一个Object存放在堆内存,然后用一个引用指向它 ...

  9. 合肥Java面试常考题_北大青鸟java 面试--常见面试题(中)

    上一文中,我们总结了java面试的基础,多线程,jvm的常见面试题,本文合肥北大青鸟合工大校区的袁老师继续介绍面试中网络.数据结构和算法.分布式理论和微服务的常见面试题. 一.网络 网络的话,主要集中 ...

最新文章

  1. shell+vim——05
  2. flink 6-检查点和水位线
  3. 第十五章 Python和Web
  4. QTP的那些事--操作excel的函数
  5. 《剑指Offer》 旋转数组的最小数字
  6. go语言编程项目_一个项目需要多少种编程语言?
  7. ((CTRL-CHAR,code 8)) : only regular white space is allowed between tokens
  8. 【Qt教程】4.1 - Qt5 文件系统 QFile文件读写操作
  9. Unity(八)脚本生命周期
  10. 快速开发框架V0.001(免费、100%开源)
  11. Mcafee(麦咖啡)8.5i 使用设置图解 --服务器
  12. Unity代码编写自定义模型 修改器(可扩展)
  13. 工程流体力学笔记暂记17(漩涡的基本概念+求解漩涡强度的斯托克斯定理)
  14. 项目Kick Off的作用
  15. 计算机在化学中论文3000字,化学论文范文3000字_化学论文发表
  16. 零基础掌握计算机入门
  17. Centos7操作系统搭建Snipe-IT资产管理系统
  18. python运算符讲解
  19. 阿里巴巴牵头发起对雅虎的250亿美元并购
  20. 奥塔在线:Centos下使用rpm方式安装crontab服务

热门文章

  1. SAP限定同名程序同时运行数量
  2. Four ugliness
  3. PP-CRP-LVL 能力平衡
  4. 与variant有关的几个FUNCTION
  5. linux ping结果中mdev,Linux下PING中mdev含义
  6. 鸿蒙是安卓换皮UI,鸿蒙2.0是安卓换皮?还真不是
  7. 四大基本反应类型的关系_初中化学7大反应类型总结,收藏
  8. python字符串前加r、f、u、l 的区别
  9. Python高阶函数--map、lambda、reduce、filter、zip
  10. Python线程join和setDaemon