1. 什么是泛型
概念:泛型(Generics)是指在定义接口、函数等类型的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性, 使用泛型可以复用类型并且让类型更加灵活思考:下面的俩种数据结构如何使用interface接口实现类型注解?这样做有何问题?
2. 泛型接口
语法:在接口类型的名称后面使用即可声明一个泛型参数,接口里的其他成员都能使用该参数的类型
通用思路:
- 找到可变的类型部分通过泛型抽象为泛型参数(定义参数)
- 在使用泛型的时候,把具体类型传入到泛型参数位置 (传参)
3. 泛型别名
语法:在类型别名type的后面使用即可声明一个泛型参数,接口里的其他成员都能使用该参数的类型
需求:使用泛型别名重构ResData案例
4. 泛型函数
语法:在函数名称的后面使用即可声明一个泛型参数,整个函数中(参数、返回值、函数体)的变量都可以使用该参数的类型
需求:设置一个函数 createArray,它可以创建一个指定长度的数组,同时将每一项都填充一个默认值(多种类型)
5. 泛型约束
作用:泛型的特点就是灵活不确定,有些时候泛型函数的内部需要访问一些特定类型的数据才有的属性,此时会有类型错误,需要通过泛型约束解决
添加约束