纳金网
标题:
对泛型设为值类型和引用类型的理解
[打印本页]
作者:
王者再临
时间:
2014-11-29 04:46
标题:
对泛型设为值类型和引用类型的理解
为什么要思考泛型设为值类型和引用类型的区别?
有以下两点原因:
1.值类型和引用类型在相互转换时,会进行装箱和拆箱操作,会损耗效率。
2.直接使用泛型进行大小等于比较时,由于值类型和引用类型不能比较,所以不能直接判定;
所以鉴于以上两点,做了深入的思考和学习。
什么是装箱和拆箱?
装箱拆箱只是在值类型与引用类型相互转换时才会发生。
值类型 转 引用类型叫 装箱。
引用类型 转 值类型叫 拆箱。
两种类型的内存处理机制是不同的,因此不能直接相互使用。
使用泛型可以在一定程度上避免装箱和拆箱引起的效率消耗
泛型能保障类型安全型,要么是值类型,要么是引用类型,不会出现类型混乱情况
泛型在使用一些共有方法时,多态特性会自动区分值类型和引用类型进行不同的处理
泛型比较时不能直接使用==、>、<等运算符,除非重载。
== 可使用Equals替代
> 和 < 只有实现IComparable接口的CompareTo方法 或 自己通过其它方式重写比较方法(有更好的方法大家一定要提出来)
作者:
hyui
时间:
2014-11-29 05:27
good interesting stuff !
欢迎光临 纳金网 (http://go.narkii.com/club/)
Powered by Discuz! X2.5