引用扩展function?
是否有可能得到一个扩展function的引用,就像你可能为通常的function所做的(见这里 )?
我期望下面的代码来编译,但现在::String.toSomething
是未知的:
fun String.toSomething() = length + 1 val some = listOf("lala", "bebebe").map(::String.toSomething)
在Kotlin中引用扩展方法可以通过在类名和方法名之间应用::
运算符来完成:
val function = Object::myExtensionMethod
所以在你的情况下:
fun String.toSomething() = length + 1 val some = listOf("lala", "bebebe").map(String::toSomething)
你是这个意思吗?
fun String.toSomething() = length + 1 val some = listOf("lala", "bebebe").map(String::toSomething)
只要记住把::
总是在函数之前