一、前言
在 Kotlin 集合的变换与聚合 中我们已经将 Kotlin 的 集合变换与聚合 讲完了,我们都知道集合源码中用到了很多泛型的知识,所以我们今天我们来讲 Kotlin 的 泛型。
二、泛型
2.1、泛型的基本概念
- 泛型是一种类型层面的抽象;
- 泛型通过泛型参数实现构造更加通用的类型的能力。
比较两个整型的大小 Kotlin 代码可以这样写:
val max = maxOf(1, 2)
maxOf() 的方法是这样的:
inline fun maxOf(a: Int, b: Int): Int
但是呢,上面的 maxOf() 方法只能比较两个整型的大小,如果我们要比较任意类型(比如 Double 等)大小的方法要怎么办呢?所以泛型就是用来实现这种需求的,如下:
inline fun<T> maxOf(a: T, b: T): T
2.2、泛型的基本声明方法
-
函数声明泛型:
fun<T> maxOf(a: T