jim*_*rra 3 intellij-idea kotlin
我正在尝试在 Kotlin 中创建函数引用,我的理解是我应该能够KFunctionN在编译时访问生成的接口,但我收到了KFunction1<T, R>.
例如:
inline fun <reified T : Any, reified R : Any> passFn(someFn: KFunction1<T, R>) {
//consume someFn
}
Run Code Online (Sandbox Code Playgroud)
我在类路径上有 kotlin-reflect 并且工作正常。我缺少什么想法吗?
我正在使用 Kotlin 1.3.21 和 IntelliJ 2018.3。
这看起来像是 IDE 问题,我输入了 import import kotlin.reflect.KFunction1,编译器错误消失了。
但是,如果您添加返回类型的表达式/语句KFunction1并显式声明该类型,则 Intellij 会正确导入它。例如;
"\\s+".toRegex()::matches
Run Code Online (Sandbox Code Playgroud)
可以提取为
val kFunction1: KFunction1<@ParameterName(name = "input") CharSequence, Boolean> = "\\s+".toRegex()::matches
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1207 次 |
| 最近记录: |