温馨提示×

Kotlin类型推断能处理泛型吗

小樊
82
2024-11-03 06:56:44
栏目: 编程语言

是的,Kotlin的类型推断可以处理泛型。在Kotlin中,当你使用泛型类或函数时,你可以省略类型参数,编译器会根据上下文自动推断出具体的类型。这使得代码更简洁、易读。

例如,假设你有一个泛型函数printList,它可以打印任何类型的列表:

fun <T> printList(list: List<T>) {
    for (item in list) {
        println(item)
    }
}

你可以直接调用这个函数,而不需要指定类型参数:

val intList = listOf(1, 2, 3)
val stringList = listOf("a", "b", "c")

printList(intList) // 编译器会自动推断出T为Int
printList(stringList) // 编译器会自动推断出T为String

同样,对于泛型类,你也可以省略类型参数:

data class GenericBox<T>(val item: T)

val intBox = GenericBox(42) // 编译器会自动推断出T为Int
val stringBox = GenericBox("hello") // 编译器会自动推断出T为String

总之,Kotlin的类型推断功能非常强大,它可以很好地处理泛型。

0