1.什么是泛型?
泛型是一种语法,可以在类或方法中预支地使用未知的类型。,并得到了编译时期的语法检查
2.泛型的好处
- 将运行时期的 ClassCastException,转移到了编译时期变成了编译失败。
- 避免了类型强转的麻烦
3.泛型的定义与使用
- 在创建对象的时候确定泛型
ArrayList<String> list = new ArrayList<String>() //定义了泛型类型,就只能传递指定类型,获取也是指定类型
-
定义泛型类
- 例子(在创建对象的时候确定泛型)
- 定义位置未知类型MVP
- 实例化对象,传入对象(传入类型,对应得到类型)
-
含有泛型的方法
- 语法:
修饰符 <代表泛型的变量> 返回值类型 方法名(参数){ }
- 例子
- 获得泛型的类型(调用方法时,确定泛型的类型)
- 语法:
-
泛型的接口定义
- 语法:
修饰符 interface接口名<代表泛型的变量> { }
- 使用1:在使用接口时确定泛型的类型
- 使用2:始终不确定泛型的类型,直到创建对象时,确定泛型的类型
- 语法:
4.泛型的通配符
- 什么是通配符?
- 不知道使用什么类型来接收的时候,此时可以使用?,?表示未知通配符。
注意:此时只能接受数据,不能往该集合中存储数据 - 例子:
- 不知道使用什么类型来接收的时候,此时可以使用?,?表示未知通配符。