首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

Integer自动拆箱有关问题

2013-04-20 
Integer自动拆箱问题如下代码:Integer a10;int ba;变量 a,b都在栈中这应该没什么问题,但a中存放的是什么

Integer自动拆箱问题
如下代码:
Integer a=10;
int b=a;
变量 a,b都在栈中这应该没什么问题,但a中存放的是什么,是地址,还是10
b中呢,存放的是地址还是10 java 拆箱
[解决办法]
a和b这两个变量确实放在栈中,但是a是引用一个对象,所以a在栈中存放的是指向对象的地址的值。b在栈中存放就是10
[解决办法]
integer是个类,所以他的对象存放的是引用即地址,int b是个基本类型,里面就是存放着一个值。
[解决办法]

Integer a /* 这个本身在栈里面,但是他里面的“值”是后面那个的地址 */ = 10; /* 这个在堆里面 */
int b /* 这个本身也在栈里面,他里面的值就是纯粹的数值,而不是地址,就是10 */ = a;
 

热点排行