找回密码
 注册
搜索
热搜: java php web
查看: 726|回复: 2

C#中的泛型

[复制链接]
发表于 2009-1-26 06:01:31 | 显示全部楼层 |阅读模式
什么是泛型?
发表于 2009-1-26 07:29:31 | 显示全部楼层
不知道说的和jre1.5新特性中的泛型是不是一样
回复

使用道具 举报

 楼主| 发表于 2009-1-26 06:55:50 | 显示全部楼层
泛型是2.0以后加入的新的特性。
作用主要是三个拉:一是提高代码重用,二是类型安全,三是提高性能。
代码重用表现在:泛型相当于模板的作用,比如定义个简单的计算的类,public class Computer<T>, 其中定义了一个排序的方法,public void Myorder(T[] list); 然后再使用这个类的时候就用具体的东东再代入, 比如用Computer<int>,Computer<Cat>,Cat是自定义的一个类,这样,就省略了int的Computer类和Cat的Computer类的定义了,达到代码重用。
类型安全表现在,以往的版本,我们常用ArrayList来存一组类型相同的对象,比如我在ArrayList里面存一组Cat对象,然后,在读出来的时候,安全起见,我需要用代码再判断下取出来的对象类型是不是Cat,但是泛型引入就能解决这个问题,用List<Cat>来定义这个集合,如果我把别的对象存储进去,在编译的时候就会报错,所以是类型安全的。
性能提高主要表现在拆装箱上。还是上面的例子,以前,我们用ArrayList存储int数组,也是以object形式存取的,存在巨大的拆装箱的性能损失,而用泛型技术以后,用List<int>来存取,在实际编译的时候,就已经转换成int的数组了,存取的就是int,所以避免了这个损耗,所以性能有很大的提升。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|软晨网(RuanChen.com)

GMT+8, 2024-9-20 15:39

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表