黑马程序员技术交流社区

标题: String类 [打印本页]

作者: daniua    时间: 2016-4-1 21:19
标题: String类
Integer i=120;
这里的i存放的是地址值还是就是120这个数呀?
作者: itgaga    时间: 2016-4-1 21:24
这种赋值方式会自动调用Integer的valueOf()缓存(如果值大于127不会缓存)为基本类型。
作者: 马儿不吃草    时间: 2016-4-1 23:02
楼上正解,这是自动装箱,120已经变成integer对象了
作者: Hawking    时间: 2016-4-1 23:24
new Integer返回的永远是不同的对象,在-128<=i<=127的时候是直接用的int原始数据类型,而超出了这个范围则是new了一个对象
作者: cumtbao    时间: 2016-4-1 23:26
是方法区里的静态区里的127,应该是个地址值
作者: 菊花爆满山    时间: 2016-4-2 11:08
地址值   只不过是指向的是方法区中的常量池存储127的内存地址
作者: 沿途的风景    时间: 2016-4-2 13:51
地址值吧...........
作者: IT小笨鸟    时间: 2016-4-2 15:17
地址值,自动装箱的时候返回的是一个Integer的实例,所以是地址值
作者: adomwon    时间: 2016-4-2 15:35
引用数据类型存放的都是地址值
作者: dwt1397261    时间: 2016-4-2 16:11
是地址值,但是-128~127是在方法区的常量池




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