引用扩展功能?
是否有可能得到一个扩展功能的引用,就像你可能为通常的功能所做的(见这里 )?
我期望下面的代码来编译,但现在::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)
只要记住把::
总是在函数之前
- 我想在用kotlin单击Android中的按钮后更改背景
- Android Studio 3 Kotlin版本
- 使用mockito的Kotlin协同程序unit testing
- kotlin android – Xposed IllegalArgumentException'android.content.res.CoollifeUITpedArray'
- 即使使用noarg插件,也没有使用Kotlin的JPA实体的默认构造函数
- Kotlin内联扩展属性
- Kotlin的房间数据库有什么问题?
- 如何从kotlin的道路上获得歌曲的ALBUM ART?
- 在使用gRPC的应用程序中使用kotlin-script-util(对于JSR-223支持)时,Guava发生冲突