Skip to content

泛型

Kotlin 的泛型(Generics)提供了一种方式,使类型参数化,允许编写更加通用和可重用的代码。 泛型在 Kotlin 中的使用和 Java 类似,但也有一些独特的特性和改进。下面是对 Kotlin 泛型的详细介绍,包括泛型类、泛型函数、型变(协变与逆变)、类型擦除和泛型约束等内容。

  1. 泛型类 泛型类允许我们为类定义一个或多个类型参数。
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
}
  1. 泛型函数 泛型函数允许我们为函数定义类型参数。
kotlin
fun <T> singletonList(item: T): List<T> {
    return listOf(item)
}

fun main() {
    val list = singletonList(1)  // T 是 Int
    println(list)  // 输出 [1]
}

Released under the MIT License.