1.1.在代数中,恒等函数指的是函数f(x)=x
1.2.恒等逻辑与getNumbers()和assembleWidgets()的问题域解耦,因为恒等逻辑和问题域是正交的,或者说是独立的
2.类型参数2.1.将不同函数的区别,即它们的实参类型参数化
2.2.一个泛型名称的标识符,用作客户端在创建泛型实例时指定的具体类型的占位符
3.可选类型3.1.包含某个类型T的值,或者不包含任何内容
3.2.Optional实现
3.3.当处理没有赋值的情况时,使用的逻辑与该值的实际类型并没有关系
4.泛型函数泛型类4.1.泛型函数(value:T)=>T,它的类型参数是T
4.2.当为T指定了实际类型时,就创建了具体函数
5.泛型类型5.1.参数化一个或多个类型的泛型函数、类、接口等
5.2.允许我们编写能够使用不同类型的通用代码,从而实现高度的代码重用
5.2.1.让代码的组件化程度更高
5.2.2.创建独立的、可重用的组件
5.2.3.使用泛型来避免复制代码
5.2.3.1.复制从来不是一个好的选择
5.3.Optional<T>类型
5.3.1.一个简单但是强大的泛型类型
6.数据结构6.1.数据自身
6.2.数据的形状
6.2.1.二叉树中,以分层的方式布局数据,每个元素最多有两个子元素
6.2.2.在链表中,数据是顺序布局的,一个元素在前一个元素的后面
6.3.一组保留形状的操作
6.3.1.用来添加或移除元素
6.4.数据结构把形状赋予数据,而并不需要知道这些数据是什么,使这些结构成为泛型,就允许为各种值重用形状,从而大大减少需要编写的代码量
6.5.两个