----《第一季Kotlin崛起:次世代Android開(kāi)發(fā) 》學(xué)習(xí)筆記
總目錄:每天學(xué)一點(diǎn) Kotlin ---- 目錄
上一篇:每天學(xué)一點(diǎn) Kotlin -- 函數(shù):標(biāo)準(zhǔn)庫(kù)函數(shù)
下一篇:每天學(xué)一點(diǎn) Kotlin -- 函數(shù):類型層級(jí)
1. 泛型函數(shù)
1.1 泛型是指“通用的類型”桨嫁,在面向?qū)ο笾袝?huì)經(jīng)常用到梳侨。比如寫了一個(gè)函數(shù),然后換一下參數(shù)類型和返回值類型又要寫一次函數(shù)體不變的函數(shù)气忠。這時(shí)候泛型就派上用場(chǎng)了。使用泛型就可以讓函數(shù)接受任何類型的參數(shù)。
1.2 要使用泛型,就要在關(guān)鍵字 fun 后面加上泛型占位符拉鹃,在參數(shù)中使用這個(gè)占位符。舉個(gè)栗子:
fun <T> sum(a: T, b: T, c: T): String {
return "$a, $b, $c"
}
1.3 舉個(gè)栗子2:
fun main() {
// var array = arrayOf(1, 3, 4, -9)
// var array = arrayOf(1.1f, 3.001f, 4.1f, -9f)
// var array = arrayOf(0x11, 0x22, 0x33, 0x44)
var array = arrayOf(1.1, 2.2, 3.3, 4.4)
println("${array.joinToString()}" + "中最大的值是 ${array.biggest()}")
}
fun <T> Array<T>.biggest(): T where T : Number, T : Comparable<T> {
var biggest = this[0]
for (i in 1..lastIndex) {
val e = this[i]
if (e > biggest) {
biggest = e
}
}
return biggest
}