别BB,亮代码。

 结果:

结果分析:

1.true 相信大家对第一个的比较结果应该不意外,只是单纯的数值比较

2.true 这个和第三个结果一比较起来就感觉迷惑了,明明两个都是同样的赋值方式,为什么一个为真,一个为假呢。说明这个问题之前让我们来看看Integer这个类的底层代码:

  首先Integer in = 127在底层执行了valueof(int i)方法,这个方法的含义是当数值-128=<且<=127时,则会返回常量池中的数值;如果不在这个范围,则执行 new Integer();所以 in 和out 都指向常量池中数值,比较结果相等。 此外,这种赋值方式还进行了自动装箱机制。

3.false 参考以上就可以知道,128不在常量值的范围之内,所以等价于 new Integer(128)。在堆中分配了存储空间,两次分配的地址不同,所以比较结果为假。

4.false 这个跟 new Integer(128)的原理一样,两次new Integer(1000)的分配的储存地址不同,所以比较结果为假。

5.true 当int 与 Integer比较会进行自动拆箱,比较的只是数值。所以为真。

6.false Integer 和new Integer()比较不可能为真,因为Integer方式有两种可能,一种指向常量池,另一种在堆中分配空间,而new Integer()只会在堆中分配,即使两者都在堆中,但地址也不相同,所以为假。

最新文章

  1. Android测试网络是否连接
  2. openstack中的身份管理
  3. 针对不同浏览器,CSS如何写
  4. 第 29 章 CSS3 弹性伸缩布局[中]
  5. xml-xml试题
  6. ios学习-delegate、传值、跳转页面
  7. Ubuntu18.04LTS安装Nvidia显卡
  8. C博客作业01--分支、顺序结构
  9. 解决用低版本的客户端ORACLE 12提示ORA-28040的异常
  10. opencv 图片剪切
  11. VXLAN, 一种叠加在L3网络上的L2网络
  12. S3C2440 DMA 驱动示例
  13. @Scheduled 定时
  14. js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的
  15. Oracle问题之ORA-12560TNS:协议适配器错误-转载
  16. 【机翻】Deep Plug-and-Play Super-Resolution for Arbitrary
  17. Java Web开发基础(3)-JSTL
  18. 运行Junit单测时遇到的问题
  19. webgl学习笔记二-绘图多点
  20. Maven:Maven 入门

热门文章

  1. Android开发之Bitmap的高效加载
  2. iOS开发之如何修改导航栏的内容
  3. IOS开发创建开发证书及发布App应用(四)——创建配置概要文件
  4. 浅谈java类集框架和数据结构(2)
  5. SSH程序框架的整合(1)
  6. [原]android sdk更新的终极解决方案
  7. 通过js获取元素css3的transform rotate旋转角度方法
  8. SpringMVC基础学习(一)&mdash;初识SpringMVC
  9. WPF 杂谈——开篇简言。
  10. c#FTP操作类,包含上传,下载,删除,获取FTP文件列表文件夹等Hhelp类