【发布时间】:2019-09-10 17:14:10
【问题描述】:
我将我的项目迁移到 Kotlin,这个阶段在 Java 和 Kotlin 之间有很多交互。
在下面的示例中,我需要传递一个实现 Java 供应商接口的函数。
java.util.concurrent.CompletableFuture.supplyAsync<Int>({ -> 3 }, executor)
CompletableFuture.supplyAsync({ 3 }, executor)
IntellJ 显示错误:
Type mismatch.
Required: Supplier<Int!>!
Found: () -> Int
我找到了一个使用助手类的解决方法,但它不是内联解决方案。
class Help : Supplier<Int> { fun get() = 3 }
supplyAsync(Help(), executor)
【问题讨论】: