Kotlin 泛型在數(shù)據(jù)類中的運用主要有以下幾點:
Box<T>
來存儲任意類型的對象:data class Box<T>(val value: T)
fun processBox(box: Box<Int>) {
// 由于使用了泛型,不需要進行類型轉(zhuǎn)換
println(box.value * 2)
}
data class User<T>(val id: Int, val name: T)
data class Product<T>(val id: Int, val name: T)
fun printUserInfo(user: User<String>) {
println("User ID: ${user.id}, Name: ${user.name}")
}
fun printProductInfo(product: Product<String>) {
println("Product ID: ${product.id}, Name: ${product.name}")
}
data class Pair<T>(val first: T, val second: T) where T : Comparable<T> {
fun compare(): Int {
return first.compareTo(second)
}
}
在這個例子中,我們限制了泛型類型參數(shù) T
必須是 Comparable<T>
的類型,這樣我們就可以確保 Pair
數(shù)據(jù)類只能用于可比較的類型。