是否可以从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互操作文件,并且在谷歌上搜索了很多,但是找不到。
我究竟做错了什么?这有可能吗?
com.test.extensions.ExtensionsPackage
import package com.test.extensions.MyModel
?