関数名の前にジェネリックタイプ<T>パラメータ

Zorgan:

使用は何ですか<T>typeパラメータの前に Kotlin中の関数名は?

例:

fun <T> MutableList<T>.swap(index1: Int, index2: Int) {
    val tmp = this[index1] 
    this[index1] = this[index2]
    this[index2] = tmp
}

最初に参照すると<T>、上記。

私は一読に試してみたKotlinのドキュメントジェネリック医薬品についてだけでなく、Javaのジェネリック彼らは主にちょうど第二に触れしかし<T>ない最初の。

リノ:

ジェネリック医薬品が使用され、いくつかのタイプがないことを示すために使用されてT参照されます。

このcompletly有効な例を見てみましょう

fun <String> MutableList<String>.swap(index1: Int, index2: Int)

さて、これは任意の上で呼び出すことができるMutableList<*>だけでなくMutableList<String>あなたが書いていないならば<String>後にfunキーワード、どのように実際にあなたがジェネリックを参照していなかったことを知っているkotlinでしょうかkotlin.String

同じことは、あなたが示されてきた例のために行きます。<>後にfunちょうど新発売ジェネリックパラメータは、他のkotlinは、それが型を知っているだろうと文句を言うでしょうT

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=221954&siteId=1