泛型的概念

使用泛型的好处
创建集合对象,使用泛型
好处:
1. 避免了类型转换的麻烦,存储的是什么类型,取出的就是什么类型
2. 把运行期异常(代码运行之后会抛出的异常),提升到了编译期(写代码的时候会报错)
弊端:
泛型是什么类型,只能存储什么类型的数据
创建集合对象,不使用泛型
好处:
集合不使用泛型默认的类型就是Object类型,可以存储任意类型的数据
弊端:
不安全,会引发异常
泛型的定义和使用
定义和使用含有泛型的类

含有泛型的方法

含有泛型的接口


泛型通配符

tips:泛型不存在继承关系 Collection<Object>list = new ArrayList<String>();这种是错误的。
泛型的通配符:
?:代表任意的数据类型
使用方式:
不能创建对象使用
只能作为方法的参数使用
通配符高级使用 -- 受限泛型

网友评论