是否可以从 Java 代码访问扩展功能?
我在 Kotlin 文件中定义了扩展函数。
package com.test.extensions
import com.test.model.MyModel
/**
*
*/
public fun MyModel.bar(): Int {
return this.name.length()
}
MyModel
(生成的)java类在哪里。现在,我想在我的普通 java 代码中访问它:
MyModel model = new MyModel();
model.bar();
但是,这是行不通的。IDE 无法识别该bar()
方法并且编译失败。
使用来自 kotlin 的静态函数起作用的是:
public fun bar(): Int {
return 2*2
}
通过使用import com.test.extensions.ExtensionsPackage
,我的 IDE 似乎配置正确。
我从 kotlin 文档中搜索了整个 Java-interop 文件,也搜索了很多,但我找不到它。
我究竟做错了什么?这甚至可能吗?