类型转换续:装箱和拆箱
2009-12-31 22:02
375 查看
装箱和拆箱是什么呢?装箱就是把一个值的类型转化为object类型,拆箱就是把这个object类型的值再转换为原来的类型。
代码倒是很简单的,将int类型的i值赋给object,这就是装箱,然后又定义一个int类型的x来接收j传来的值,这就是拆箱。
int i = 1; //备货
object j = i; //装箱
int x = (int)j; //拆箱取货
至于这个装箱和拆箱有什么实际用途,本人目前还不知道
。不过既然C#弄出来这个东西,自然有它的道理,估计以后学的深入了就知道了。
装箱和拆箱需要注意的问题是:装箱不但装进去了值,还装进去了原始的数据类型。
比如上面的代码,如果将最后一行这样写,就无法通过编译:
double x = (double)j;
原因是j在装箱的时候已经记录过了,这个数据是int类型的,不能在拆箱时候强制转换成double类型。改成下面的代码就没问题了:
double x = (int)j;
代码倒是很简单的,将int类型的i值赋给object,这就是装箱,然后又定义一个int类型的x来接收j传来的值,这就是拆箱。
int i = 1; //备货
object j = i; //装箱
int x = (int)j; //拆箱取货
至于这个装箱和拆箱有什么实际用途,本人目前还不知道
。不过既然C#弄出来这个东西,自然有它的道理,估计以后学的深入了就知道了。
装箱和拆箱需要注意的问题是:装箱不但装进去了值,还装进去了原始的数据类型。
比如上面的代码,如果将最后一行这样写,就无法通过编译:
double x = (double)j;
原因是j在装箱的时候已经记录过了,这个数据是int类型的,不能在拆箱时候强制转换成double类型。改成下面的代码就没问题了:
double x = (int)j;
相关文章推荐
- 装箱和拆箱 (判断两个类型转换是否构成装箱或拆箱,要看它们是否存在继承关系)
- 【JAVA学习】java基本数据类型与字符串之间的转换(基本数据类型、对象封装类、自动装箱、自动拆箱)
- 一条语句引发的思考:装箱和拆箱,空指针的类型转换
- 基于数据类型转换(装箱与拆箱)与常量详解
- 类型转换装箱和拆箱导致的空指针异常
- 基本数据类型装箱拆箱,与转换方法,BigDecimal运算,Random随机数
- C#==>类型转换 与 装箱拆箱
- 3.1.5 类型转换;装箱和拆箱
- ---类型描述 ---值类型 ---引用类型 ---类型之间的转换 ---装箱和拆箱
- 装箱 拆箱 基本数据类型转换
- 装箱和拆箱数据类型转换
- JAVA基础--可变参,自动装箱与拆箱,类型转换
- Android中的java基础(二)——装箱与拆箱及不同基本类型的比较(类型转换)
- 值类型和引用类型间的转换-装箱和拆箱
- C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)
- 变量,常量,引用类型,值类型,枚举类型, 值类型和引用类型的简单区别,类型转换,装箱与拆箱
- C#语言学习--基础部分(十二) --堆,栈,装箱,拆箱,安全数据类型转换:as, is
- java基本数据类型与字符串之间的转换(基本数据类型、对象封装类、自动装箱、自动拆箱)
- 装箱拆箱与类型转换