社区
非技术区
帖子详情
真悲哀... 啥是泛型??
tkscascor
2009-03-26 01:32:55
看来是慧根不好... 常看见有人用泛型.都说泛型好用.
看了许多生硬的示例....
我直到现在还不理解 试用泛型具体有啥好处..OTz.
...全文
130
15
打赏
收藏
真悲哀... 啥是泛型??
看来是慧根不好... 常看见有人用泛型.都说泛型好用. 看了许多生硬的示例.... 我直到现在还不理解 试用泛型具体有啥好处..OTz.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tkscascor
2009-03-27
打赏
举报
回复
nice... 装箱 跟拆箱 这玩意我还是懂的.
只是感受不到 泛型的好处? 我的话 矛盾不?
我得好好学习 ,天天想上....结贴咯
chaobeyond
2009-03-27
打赏
举报
回复
一起学
rainsome
2009-03-27
打赏
举报
回复
上MSDN上搜索.功到自然成.
wts_net
2009-03-27
打赏
举报
回复
泛型最大的好处是提高代码的可重用性和类型安全性...
使用泛型可以将数个数十个相同功能的类或方法合并,也可以为一个操作多种类型的类或方法提供更高的类型安全性而不需要增加代码...
orain
2009-03-27
打赏
举报
回复
1、类型安全性检测(在使用泛型时,如果传入的类型不正确,在静态编译时就可以发现,如 List<string> 你传入一个整数,肯定会报错,但 ArrayList 你不论传任何类型的数据在编译时都是正确的。想一下,不小心把参数传错了,根据调试来找出错误和编译器自动检测错误,哪个对你更方便?)
2、代码的重用(简单来说,一个集合的排序,集合中的元素是 int 或自定义的类型时,你可能要把排序的代码写两遍,因为这两种类型的比较规则不一样,虽然它们的算法是一样的,而通过泛型,你可以抽象出算法的具体实现,而把比较规则留给类自己去处理。当然这一方面我觉得主要是对 C++ 来说意义比较大,因为 C# 所有的类都是从 System.Object 继承而来的,你可以直接通过这个基类来处理,但是因为缺乏类型检测,出错的概念会比较大而已)。
3、对于值类型性能上的优化,其实也就是上面说的装箱和拆箱。泛型针对引用类型方面性能上并没有什么太大的区别。
hecong875
2009-03-27
打赏
举报
回复
强类型的对象集合
编译时检查类型,某种情况下避免装拆箱提升性能
你可以先去了解下! 对象集合 然后在看看 拆箱 装箱 是什么! 就知道了!
wdzr_826
2009-03-26
打赏
举报
回复
言简意赅:
1,提升了效能(相对于装箱,拆箱(参考Effective C#))
2,符合C#强类型的特性(更好的通过编译)
bluemynet
2009-03-26
打赏
举报
回复
xuejianxinokok
2009-03-26
打赏
举报
回复
1. 泛型 一般用来实现集合类或用于数据结构的实现
2. 泛型类似于c++中的模板,其中的参数可以替代你自己需要的类型,编译器会根据你传入的类型进行类型检查,避免了使用OBJECT类时拆箱时错误
vrhero
2009-03-26
打赏
举报
回复
集合和避免装拆箱只是泛型应用的一小部分但是应用最广泛,这也是新人最容易被误导的地方...
泛型最大的好处是提高代码的可重用性和类型安全性...
使用泛型可以将数个数十个相同功能的类或方法合并,也可以为一个操作多种类型的类或方法提供更高的类型安全性而不需要增加代码...
泛型功能将类型安全的任务转移给了编译器,从而不需要编写代码来测试数据类型是否正确...因为在编译时会强制使用正确的数据类型,减少了类型强制转换的需要和运行时错误的可能性...
elmnd
2009-03-26
打赏
举报
回复
模板,重载。。。
就连C语言也是有泛型的:
double a, b;
a+b;
int a, b;
a+b;
tkscascor
2009-03-26
打赏
举报
回复
天乐_那由他
2009-03-26
打赏
举报
回复
[Quote=引用 2 楼 tkascor 的回复:]
引用 1 楼 ld_thinking 的回复:
强类型的对象集合
编译时检查类型,某种情况下避免装拆箱提升性能
施主,, 具体点 具体点. 这些都有的看的..
[/Quote]
这还不够具体啊?
楼主了解拆箱和装箱么?
测试一下ArrayList和List<T>处理int、float数据的效率就知道好处了
tkscascor
2009-03-26
打赏
举报
回复
[Quote=引用 1 楼 ld_thinking 的回复:]
强类型的对象集合
编译时检查类型,某种情况下避免装拆箱提升性能
[/Quote]
施主,, 具体点 具体点. 这些都有的看的..
ld_thinking
2009-03-26
打赏
举报
回复
强类型的对象集合
编译时检查类型,某种情况下避免装拆箱提升性能
关于单例的
泛型
实现,
悲哀
啊
自己在做一个Unity的小项目,想在UI上不使用脚本继承MonoBehavior然后挂在物体上的方式。于是想写一个单例的UIBase类,子类继承UIBase同时也复用UIBase的单例,这样不用每写一个子类就写一遍单例。于是在网上找到不少人写的单例的
泛型
实现: //父类 public class Person<T> where T : class, new() ...
关于
泛型
昨晚终于看tij第15章
泛型
看完了,看到后期,完全就是看不懂。不过,看完
泛型
后,就是完全颠覆了自己以前对
泛型
的理解。以前认为
泛型
就是为了foreach,其实那是Iterable #tij java的设计者们在最初设计时,已经知道了C++的模板,但是没有采用,后来发现问题了,才想要去加
泛型
,可是对于最初没有加
泛型
的语言,想要后来才加,难度可想而知。 #tij 最初作...
C++ Primer学习笔记之第12章-
泛型
-踩在巨人的脚背上-prog12.cpp程序
学好
泛型
,受用无穷! STL的容器都是定义在std namespace;所以光是包含相应的头文件是不可取的,至少加上: using namespace std; 或者是:using std:: ×××(你用的容器);在预处理器的后面。 其实对于gnu c++来说,.c后缀和.cpp后缀没有什么分别,但对于MS VS来说就是C程序和C++程序的区别了;
AndroiAndroid程序员最大的
悲哀
是什么?d程序员最大的
悲哀
是什么?
AOP 编程实现,包括 JDK 动态代理实现,ASM 直接操作字节码、CGLIB 实现,其原理封装了 ASM,使用更方便。 Javassist:在字节码加载前直接修改需要切入的方法,以及注解处理器 APT,这在 Android 中开源的库应用较多,比如 DataBinding , ButterKnife, EventBus3 等等。 异常处理 Exception,包括检查性异常、运行时异常处理。 IO 流相关,包括堵塞型 IO 和非堵塞型 IO。 Java 的一些高性特级,比如反射、代理、
泛型
、枚举、正则表
Android程序员最大的
悲哀
是什么?面试必问
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dZBNjFIK-1620616564990)(//upload-images.jianshu.io/upload_images/2423320-37037f9d86a75ce0.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)] 简介 Jetpack是一套库、工具和指南,可以帮助开发者更轻松地编写优质应用。这些组件可以帮助开发者遵循最佳做法、让开发
非技术区
7,774
社区成员
63,123
社区内容
发帖
与我相关
我的任务
非技术区
.NET技术 非技术区
复制链接
扫一扫
分享
社区描述
.NET技术 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章