黑马程序员技术交流社区

标题: 老师说泛型是给编译看那,那转强是不是也是给编译器看... [打印本页]

作者: 谢洋    时间: 2013-3-17 11:18
标题: 老师说泛型是给编译看那,那转强是不是也是给编译器看...
当我们加上泛型时,有些操作就用转强了,谁可以把原理详细说下,编译是怎么处理?
作者: 罗威    时间: 2013-3-17 20:46
首先,泛型是在JDK1.5版本以后才出现的新特性,在1.5之前你不加泛型编译,编译器也不会给你友好提示!
为什么后面版本加上了泛型呢?
以我的理解是因为集合的特性导致的,因为一个集合中可以存储任意引用类型的元素!

如果没有提前用泛型规定集合里面的元素,那么你添加在集合的元素就可能是不同类型,当你需要比较这些元素的时候,运行的时候也许会告诉你类型不同不具备比较性!

这样你每次需要比较元素的时候都要用  instanceof 做比较   会给集合的操作上带来很多麻烦!

加了泛型之后,在你添加元素的时候就会强制告诉你只能添加一种类型的数据,你加其他类型的在编译的时候就会出错!

作者: 陈丽莉    时间: 2013-3-17 21:09
若还有问题,请继续追问;没有的话,请将帖子分类改成【已解决】~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2