泛型
Kotlin 的泛型(Generics)提供了一种方式,使类型参数化,允许编写更加通用和可重用的代码。 泛型在 Kotlin 中的使用和 Java 类似,但也有一些独特的特性和改进。下面是对 Kotlin 泛型的详细介绍,包括泛型类、泛型函数、型变(协变与逆变)、类型擦除和泛型约束等内容。
- 泛型类 泛型类允许我们为类定义一个或多个类型参数。
kotlin
class Box<T>(val value: T)
fun main() {
val intBox = Box(1) // T 是 Int
val stringBox = Box("Hello") // T 是 String
println(intBox.value) // 输出 1
println(stringBox.value) // 输出 Hello
}
- 泛型函数 泛型函数允许我们为函数定义类型参数。
kotlin
fun <T> singletonList(item: T): List<T> {
return listOf(item)
}
fun main() {
val list = singletonList(1) // T 是 Int
println(list) // 输出 [1]
}