在Java中使用静态方法作为Kotlin中的扩展方法

时间:2017-09-09 15:14:51

标签: java kotlin extension-methods

我在Java中声明了一个静态方法:

var a = "300";
var b = "1000";
if (a <= b) {
  console.log('true')
} else {
  console.log('false')
}
a = +a; // convert to number using the unary '+' operator
b = +b;
if (a <= b) {
  console.log('true')
} else {
  console.log('false')
}

我希望将此方法用作Kotlin中class X { public static void foo(Y y) { … } } 类型实例的扩展方法:

Y

这可能吗?我控制了所有相关的源代码,例如添加注释。

1 个答案:

答案 0 :(得分:6)

我不知道如何自动引用这些内容,但编写自己的扩展只能包装现有方法...

fun Y.foo() = X.foo(this)