黑马程序员技术交流社区

标题: int 和 Integer 区别与联系 [打印本页]

作者: 一棵树123    时间: 2017-12-4 16:16
标题: int 和 Integer 区别与联系
本帖最后由 一棵树123 于 2017-12-4 16:19 编辑

1、integer是引用数据类型,声明为integer的时候需要实例化,也就是需要new一下,默认值是Null,而int是一种基本数据类型,所以他可以直接存储数据,默认值是0。C:\用户\Adiministrator\Dsektop\123.png
2、integer是int的包装类。为了能够将基本数据类型当成对象来操作,java把每个基本数据类型都引入了对应的包装类,而int的包装类就是integer。并引入了自动拆装箱机制,从而在使用时能够实现二者之间自由转换。在使用过程中,我们直接讲一个int数据直接通过赋值方式赋予一个integer对象的时候,就实现了自动装箱,反之,当我们将一个integer对象赋值给int对象时,也就实现了自动拆箱。C:\用户\Adiministrator\Dsektop\133.png
值得注意的是,当我们利用自动装箱给两个integer对象a1,a2赋予相同的值时,两个integer是否相等呢?实际上,当被赋予的值是在-128~127之间时,输出a1==a2,控制台打印的结果是true,而当被赋予的值是在-128~127之外,输出a1==a2,控制台打印的结果却会变成false。这一切都归结于java对自动拆装箱设计时,为了加大对简单数据的重复利用,Java在自动装箱时对在-128~127之间的值,被装箱后,会在内存在被重用,因此只会存在一个对象,而对于-128~127之外的值,被装箱后,并不会被重用,相对于每次装箱都会在内存中新建一个integer对象。

123.png (7.38 KB, 下载次数: 58)

123.png

133.png (15.17 KB, 下载次数: 52)

133.png

122.png (18.54 KB, 下载次数: 49)

122.png

作者: 奥斯托洛夫斯基    时间: 2017-12-8 14:58

作者: 黑马小黄人    时间: 2017-12-8 15:06
引用数据he基本数据
作者: 我是一匹小黑马Y    时间: 2017-12-8 17:00
中午演讲的时刻
作者: O-limin    时间: 2018-2-1 13:54

作者: 黑马啸西风    时间: 2018-2-1 14:07

作者: 项老师    时间: 2018-2-1 14:32

作者: 美美就是美    时间: 2018-2-1 14:43

作者: 骑着小猪看雪    时间: 2018-2-1 14:55

作者: 皖哥哥    时间: 2018-2-1 15:24
学有所得,挺好的
作者: hguilin    时间: 2018-2-1 16:35

作者: 我是一匹小黑马Y    时间: 2018-2-2 08:41

作者: SimpleAndnavie    时间: 2018-2-2 09:17
通俗易懂
作者: 小皖妹妹    时间: 2018-2-2 10:01





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2