A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 幸福的彼岸 中级黑马   /  2014-1-14 15:18  /  1362 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 幸福的彼岸 于 2014-1-14 16:52 编辑

什么是装箱、拆箱?装箱和拆箱的原理是什么?装箱拆箱过程中堆栈会有哪些操作和变化呀?

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

4 个回复

倒序浏览
装箱:将一个值类型隐式或者显式地转成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型
拆箱:将一个引用类型显式地转换成一个值类型,或者是将一个接口类型显式地转换成一个执行该接口的值类型
装箱后:object对象中的数据位于堆中,堆中的地址会位于栈中

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
装箱:从值类型接口转换到引用类型。拆箱:从应用类型装换到值类型。

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
object j = null;//应用类型。 j = 1;//装箱。把值类型包装为应用类型。 int i = (int)j;//拆箱。

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
装箱:值类型转引用类型,内存上从栈转到了了堆;拆箱:引用类型转值类型,内存分配从堆到栈

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马