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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 伱涐的距离 中级黑马   /  2013-12-23 09:20  /  1485 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 伱涐的距离 于 2013-12-23 10:34 编辑

什么是装箱和拆箱?

评分

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

查看全部评分

5 个回复

正序浏览
装箱就是值类型转换为object类型,拆箱相反:object转化为值类型
装箱使任何事物看起来都像是一个对象,即装箱是一种让值类型看起来好像引用类型的处理过程。这样才符合面向对象把一切事物都看成对象的思想。当然有装箱就有拆箱。

评分

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

查看全部评分

回复 使用道具 举报
装箱和拆箱是用来值类型和引用类型相互转化的,值类型转化引用类型是装箱,引用类型转化值类型是拆箱。但是大量的装箱拆箱影响程序运行速度,我们应尽量避免这么做

评分

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

查看全部评分

回复 使用道具 举报
装箱是将值类型转换为引用类型 拆箱是将引用类型转换为值类型 利用装箱和拆箱功能,可通过允许值类型的任何值与 Object 类型的值相互转换,将值类型与引用类型链接起来。
例如:Integer i=2; 装箱; int=i;拆箱。

评分

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

查看全部评分

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

评分

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

查看全部评分

回复 使用道具 举报
装箱是将值类型转换为引用类型 ;拆箱是将引用类型转换为值类型
      利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与引用类型链接起来
例如:
int val = 100;
object obj = val;
Console.WriteLine (“对象的值 = {0}", obj);
这是一个装箱的过程,是将值类型转换为引用类型的过程

int val = 100;
object obj = val;
int num = (int) obj;
Console.WriteLine ("num: {0}", num);
这是一个拆箱的过程,是将值类型转换为引用类型,再由引用类型转换为值类型的过程

评分

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

查看全部评分

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