Kotlin中的泛型使用與Java類似,但是Kotlin提供了更強大的類型推斷功能。在聲明泛型類、函數或接口時,可以使用尖括號<>來指定泛型類型,例如:
class Box<T>(t: T) {
var value = t
}
fun <T> printItem(item: T) {
println(item)
}
在上面的例子中,Box類和printItem函數都使用了泛型T。Kotlin會根據傳入的參數類型推斷出T的具體類型,從而避免了在調用時顯式指定泛型類型。
另外,Kotlin還提供了類型投影的概念,用于處理泛型類型的逆變(contravariant)和協變(covariant),以及星號投影(star projection)等高級用法。通過類型投影,可以更加靈活地處理泛型類型的參數傳遞和返回值。