Kotlin 泛型在 Android 開發中的使用可以幫助您編寫更安全、更可維護的代碼。以下是一些使用 Kotlin 泛型的常見方法:
創建一個泛型類,允許您為類指定特定類型。例如,創建一個簡單的泛型 Box
類:
class Box<T>(val item: T) {
fun getItem(): T {
return item
}
}
在這個例子中,T
是一個類型參數,代表您可以將任何類型傳遞給 Box
類。您可以像下面這樣使用這個泛型類:
val integerBox = Box<Int>(42)
val stringBox = Box<String>("Hello, world!")
println(integerBox.getItem()) // 輸出: 42
println(stringBox.getItem()) // 輸出: Hello, world!
創建一個泛型函數,允許您為函數參數和返回值指定特定類型。例如,創建一個簡單的泛型函數來交換兩個變量的值:
fun <T> swapValues(a: T, b: T): Pair<T, T> {
return Pair(b, a)
}
在這個例子中,T
是一個類型參數,代表您可以交換任何類型的值。您可以像下面這樣使用這個泛型函數:
val (x, y) = swapValues(42, "Hello, world!")
println(x) // 輸出: Hello, world!
println(y) // 輸出: 42
在某些情況下,您可能希望限制泛型類型參數的范圍。為此,可以使用 Kotlin 的類型約束。例如,創建一個泛型函數,該函數僅接受 Comparable
類型的參數:
fun <T : Comparable<T>> findMax(a: T, b: T): T {
return if (a > b) a else b
}
在這個例子中,T : Comparable<T>
是一個類型約束,表示 T
必須是 Comparable
類型的子類型。您可以像下面這樣使用這個泛型函數:
println(findMax(42, 10)) // 輸出: 42
println(findMax("apple", "banana")) // 輸出: banana
這些示例展示了如何在 Android 開發中使用 Kotlin 泛型來編寫更安全、更可維護的代碼。您可以根據項目需求靈活運用泛型。