代码改变世界

关于int和Integer比较的各种情况

2016-08-30 10:22  grows  阅读(149)  评论(0编辑  收藏  举报

java中因为涉及到基本类型和封装类型的原因,总是弄不清楚它们之间的关系通过查询和自己实现总结了下,总共有四种情况:==之间

(1)int和Integer的比较,Integer会自动拆箱,变成int所以总是true

(2)  integer声明时没有new之间的比较分为两种:值<=127的第二次声明会从缓存中取出第一次的对象,赋引用给它,所以比较为true,

                                                               值>127,分别创建对象所以比较为false,

(3)integer声明没有new和声明时有new时,比较为false;(对象之间的比较)

(4)integer声明时有new之间的比较为false;(对象之间的比较)