2

看代码:

CompletableFuture.supplyAsync({
    awsBatch.terminateJob(
        TerminateJobRequest.builder().jobId(it).reason("terminated").build())}, executor)

Intellij 告诉我:

Type mismatrch:
Required: Supplier<TerminateJobResponse>
Found: () -> TerminateJobResponse

虽然这个编译完美但没有执行器:

CompletableFuture.supplyAsync {
    awsBatch.terminateJob(TerminateJobRequest.builder().jobId(it).reason("terminated").build())
}

如何将供应商从 kotlin 传递给 java 8 API?

Offtop(只是我今天的心情)

他们创建了一个CompletableFuture.allOf()带有返回类型的好方法void,并创建了这个 - 传递供应商作为第一个参数......我喜欢 java,但所有这些有时让我发疯 - 为什么不看 scala 并创建相同的东西???Kotlin,scala 自动将第二个参数公开为函数,如myFunc("parameter"){"function"}. 所以现在我创建了一个代码,并且必须花费几个小时来编译一些糖(这应该可以节省我的时间)
:(((

4

2 回答 2

3

你有没有尝试过

CompletableFuture.supplyAsync(Supplier<TerminateJobResponse> {

?

于 2018-06-19T21:17:54.380 回答
0

使用函数文字

CompletableFuture.supplyAsync<Something>({ Runnable { println("abc") } }, { Runnable { println("xyz") } })

查看SAM 转换

于 2020-09-19T12:46:44.857 回答