我制作了一个kotlin应用程序,由于我的应用程序中包含函数,因此我还添加了我函数的Java变体,以使没有kotlin std-lib的开发人员可以使用它们。但是我发现从Java调用这些方法存在问题。
我的Kotlin实现:
fun fun0(loader: java.util.function.Function<Int, String>) //method with java's Function class
fun fun0(loader: (Int) -> String) //method with kotlin's Function class
以及如何从Java调用方法:
Function<Integer, String> param = (t) -> t.toString();
fun0(param);
我试图显式声明lambda(如您所见),但这没有帮助。 IntelliJ不会显示任何警告或错误,但是当我尝试编译时: