A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张天天 中级黑马   /  2012-7-10 22:41  /  1449 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

通常泛型指的是对于不同的数据存储结构,执行相同的操作就可以对这些不同的数据进行操作,
然而在java中,对于不同的数据类型仍然要使用各类型独自的方法来进行操作,而不能使用同样的方法或解决方案
这样的泛型如何理解?

3 个回复

倒序浏览
泛型规定集合中存储的对象的类型,起到一个规范存储的作用吧。
回复 使用道具 举报
楼主可能对泛型理解错了,泛型就是在定义类,接口和方法时使用的类型形式参数,这个类型形参会在声明对象或者调用方法时动态指定.
同俗来讲,比如我们将一个对象扔进List集合里面的时候,再拿出来用时,List集合就忘记了原来丢进去的对象是什么类型的,这时候,泛型就会
提醒集合,告诉它我扔进去是什么类型的对象,你还给我的就必须是什么对象,
.至于你说,<这些不同的数据进行操作>意思是说
向一个集合中扔进不同类型的对象吧?这严格来说是不建议的,在没有加泛型以前,集合是不会检查你扔进集合的对象到底是什么类型,扔出来的一律是Object
但是加上泛型以后,泛型会自动帮你检查对象类型.总之,泛型是为了增强程序健壮性而存在.
会帮你自动进行检查.使集合只能保存特定类型的对象.

评分

参与人数 1技术分 +1 收起 理由
刘笑 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
泛型:泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
泛型的好处:
1  将运行时期的问题ClassCastException转到了编译时期。
2  避免了强制转换的麻烦。
泛型<>:什么时候用?
当操作的引用数据类型不确定的时候。就使用<>。将要操作的引用数据类型传入即可.其实<>就是一个用于接收具体引用数据类型的参数范围。
在程序中,只要用到了带有<>的类或者接口,就要明确传入的具体引用数据类型 。泛型技术是给编译器使用的技术,用于编译时期。确保了类型的安全。
运行时,会将泛型去掉,生成的class文件中是不带泛型的,这个称为泛型的擦除。
为什么擦除呢?
因为为了兼容运行的类加载器。只有在编译时期加入泛型,保证类型的统一,在运行时保证编译器能正常运行。
泛型的补偿:在运行时,通过获取元素的类型进行转换动作。不用使用者在强制转换了。

评分

参与人数 1技术分 +1 收起 理由
刘笑 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马