黑马程序员技术交流社区
标题:
泛型
[打印本页]
作者:
zxbzxb333
时间:
2014-11-3 22:43
标题:
泛型
本帖最后由 zxbzxb333 于 2014-11-4 16:59 编辑
觉得每次都要加那个<>好麻烦啊,而且不加泛型也能运行啊,只要注意点类型别搞错了就行,加了这个泛型没提高多少安全性感觉效率却低了不少!
作者:
lighter
时间:
2014-11-4 00:34
也不全是吧,最起码没有那个刺眼的黄色的感叹号了啊!!!
作者:
lighter
时间:
2014-11-4 00:37
也不全是吧,最起码没有那个刺眼的黄色的感叹号了啊!!!
作者:
zxbzxb333
时间:
2014-11-4 00:53
lighter 发表于 2014-11-4 00:37
也不全是吧,最起码没有那个刺眼的黄色的感叹号了啊!!!
那岂不是为了泛型而泛型么?
作者:
韶山
时间:
2014-11-4 02:24
还没有见到答的用处了
作者:
Eagle
时间:
2014-11-4 08:58
加泛型,我感觉提高了运行效率了,
作者:
wf111sxwf
时间:
2014-11-4 13:37
泛型提高了安全性啊,当然有得必有失,有好处的同时必然会带来弊端。能简写的都是有前提的。
作者:
huoxy
时间:
2014-11-4 16:20
有利有弊,看你注重哪一方面了。
作者:
许瑞航老师
时间:
2014-11-4 17:34
第一:源代码保护。(如果你知道C++模板对泛型的实现机制,就会知道C++在编译的时候根据对泛型的调用,自动“内联”了一个实现,这样泛型的内容就暴露了,尔DotNet的实现方式就不同了,泛型类和方法会被编译成IL,在执行的时候由JIT负责将IL变化为指定类型参数的本地代码,从而保护了源代码)
第二:类型安全。(这点是最显而易见的,抛弃了使用ArrayList时各种丑陋的强制类型转换)
第三:更清晰地代码。因为没有了强制类型转换,所以代码自然显得更清晰,但是使用泛型时候带来的<>有时候确实也会让人搞糊涂,幸好泛型方法可以用类型推断或者using语句来进一步简化写法。
第四:更好的性能,因为值类型可以避免装箱和拆箱所带来的损耗(垃圾回收的次数也会减少)。(这点正是泛型神奇的地方,开发历史上抽象能力的上升往往意味着性能的下降,但是泛型却不是!泛型抽象了算法,但是C++和DotNet对泛型的实现能够让性能无损,并且更快。
作者:
OnlyStyle
时间:
2014-11-4 19:29
呃,泛型还是有好处的,泛型又不会带到运行期,编译期可能会降低开发效率,但是安全性和出bug的概率的优化就是对开发最大的效率提升!
作者:
MarcoLee
时间:
2014-11-4 22:27
泛型的出现本身就是为了类型安全,为了安全牺牲点效率有什么。
作者:
chaijie
时间:
2014-11-5 15:43
把异常从运行时期转移到编译时期,提高了安全性
作者:
HelloWorld!
时间:
2014-11-5 18:17
初学写的代码都是小demo,为了理解知识点的,实际开发是相当复杂的,老师说泛型好处大大滴
作者:
cs8630323
时间:
2014-11-7 18:22
本帖最后由 cs8630323 于 2014-11-7 18:26 编辑
养成坏习惯后果自负
以后项目N个集合,你能记住哪个集合要保存哪个类型?别人看你的代码肯定抓狂
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2