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

源码:

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

简单的说,如果整型字面量的值在-128 到 127 之间,那么不会 new 新的 Integer 对象,而是直接引用常量池中的 Integer 对象,所以上面的面试题中 f1==f2 的结果是 true,而 f3==f4 的结果是 false。

Integer 类型的数值比较相关推荐

  1. Integer类型比较

    1.需求: 比较两个Integer类型的值是否相等 2.equals方法: 两个Integer类型的数值比较不能使用==比较                 应该使用.equals进行比较 注意在使用 ...

  2. Java中Integer类型的整数值的大小比较

    1.如果Integer类型的两个数相等,如果范围在-128~127(默认),那么用"=="返回true,其余的范会false. 2.两个基本类型int进行相等比较,直接用==即可. ...

  3. java中两个Integer类型的值相比较的问题

    转载自: https://www.cnblogs.com/xh0102/p/5280032.html 两个Integer类型整数进行比较时,一定要先用intValue()方法将其转换为int数之后再进 ...

  4. mysql int(40)_MySQL Integer类型与INT(11)

    1.介绍 Integer类型,即整数类型,MySQL支持的整数类型有TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT. 1.1 空间和范围 每种整数类型所需的存储空间和范围如 ...

  5. JAVA里面的int类型 和Integer类型,有什么不一样

    JAVA里面的int类型 和Integer类型,有什么不一样 原创 2013年09月04日 23:15:11 标签: java / 2120 编辑 删除 JAVA里面的int类型 和Integer类型 ...

  6. MySQL列类型之——数值类型

    如想进一步了解有关mysql的信息请点击http://dev.mysql.com/doc/refman/5.1/zh/column-types.html MySQL支持多种列类型:数值类型.日期/时间 ...

  7. 将String类型的带小数的值转化为Integer类型的不带小数的值

    在我们的开发过程中,经常会遇到有的String类型的带小数的值要求转化为Integer类型的不带小数的值,这时候我们有的转化就会出问题.这里,我们应用这样的方法来进行转化: 带小数的String转数字 ...

  8. 关于Integer类型采用大于、小于号的验证

    面试当中遇到过这么一个问题,Integer类型,能通过 > . < 号进行比较吗?我印象中是会进行拆箱,然后转换成int进行比较,结果面试官说包装类型没有 > . < 方法,是 ...

  9. Verilog中的integer类型

    Given a 100-bit input vector [99:0], reverse its bit ordering. 说明:整数(integer) integer类型也是一种寄存器数据类型,i ...

最新文章

  1. (Win7)D盘Program Files文件夹不见了
  2. 第三周 7.25 --- 7.31
  3. Window 2000 网络操作命令全释
  4. windows live writer test…
  5. springboot quartz 动态配置_springboot集成quartz实现动态任务调度
  6. python最新版安装图集_通过python简单的实现了plist、json图集的切割
  7. Java 多线程详解(一)------概念的引入
  8. 搜狗微信添加搜索工具爬虫
  9. Python菜鸟起飞day2--数据类型(元组,字典,字符串)
  10. 被Gartner评为十大安全技术的IAST是什么
  11. 电子计算机上面的mrc是什么意思,计算器上 M MRC GT CE MU 键分别是什么意思?
  12. ArcEngine 开发之ITopologicalOperator 处理奇葩问题解决
  13. MySQL(八):InnoDB 日志缓冲区(Log Buffer)
  14. 【法规】投标申请人资格预审须知-刘俊平
  15. This application is currently offline解决办法
  16. 【DaVinci Developer专题】-38-Exclusive Area介绍+配置
  17. 【服务器搭建个人网站】教程四:域名怎样进行备案?快来看~
  18. MySQL版 emp 数据库
  19. MAG02 IMU传感器模块替代MPU6050模块介绍
  20. MapReduce框架

热门文章

  1. 2017hbcpc(第一届河北省大学生程序设计竞赛)
  2. 学生信息管理系统——代码展示
  3. 同惠TH2817BLCR测试仪+LCR数字电桥
  4. 《第三部分:熟悉Liunx系统+创建虚拟机》
  5. linux远程灰屏,Ubuntu 15.10安装VNC灰屏问题解决
  6. Python中str()、repr()、``的区别
  7. 使用EnableMenuItem函数无效
  8. 若依mybatis升级为mybatis-plus
  9. 亲爱的百度,您带着bug翩翩走来……呃
  10. CSDN平台比赛第五期第四题:三而竭