问题:
集合:用于存放多个(不同类型)的对象
---- 容易出现转型错误 ClassCastException

上面的ArrayList对象没有限定放什么类型的数据,所以我们就往里面放东西了(int型和字符串)
解决方法:
集合:存放多个对象(限定为一种类型)
---- 不需要转型,没有转型错误

泛型(1):
泛型:Generic Programming,JDK1.5推出的特性,带<>的类型限定语句是Java里面的一个新的特性
作用:编写的代码可以被很多不同类型的对象所重用

泛型(2):Generic Programming可以分为三种
(1)泛型类:ArrayList,HashSet,HashMap等
(2)泛型方法:Collections.binarySearch,Arrays.sort等 (可以适应不同类型的参数)
(3)泛型接口:List,Iterator等 (支持各种类型,对不同类型元素进行遍历)

泛型(3):使得代码能够为各种不同的数据类型提供支持
---- 泛型的本质:参数化类型,避免了类型转换,代码可以复用(根据传入的参数类型,能够推断出具体的类型进行正常处理)
---- 其他语言同类:C++的模板(Template) C#的泛型
泛型(4):进一步探索ArrayList的源码


本文深入探讨Java泛型的使用和优势,包括泛型的历史背景、泛型编程的概念、泛型的三种形式(泛型类、泛型方法、泛型接口)、泛型如何避免类型转换错误并提高代码复用性,以及与其他语言泛型特性的比较。

491

被折叠的 条评论
为什么被折叠?



