这个问题在这里已有答案:
有没有办法从java类声明一个方法,以便它可以从kotlin调用为infix
函数,如下所示:
public class Foo {
public void doFoo (String bar) {}
}
然后从kotlin文件
foo doFoo "bar"
由于Java无法标记使用运算符语法的方法,因此Kotlin允许使用任何具有正确名称和签名的Java方法作为运算符重载和其他约定(
invoke()
等)。使用中缀调用语法调用Java方法不被允许。
您可以添加infix
扩展来从Kotlin获取该语法:
infix fun Foo.doFoo(bar: String) {
return doFoo(bar)
}