gpt4 book ai didi

java - 获取 CompletableFuture.supplyAsync 的结果

转载 作者:行者123 更新时间:2023-12-01 19:46:47 25 4
gpt4 key购买 nike

我有这段代码:

CompletableFuture
.supplyAsync(() -> {
return smsService.sendSMS(number);
}).thenApply(result -> {
LOG.info("SMS sended " + result);
});

但是我遇到了编译错误:

The method thenApply(Function<? super Boolean,? extends U>) in the type CompletableFuture<Boolean> is not applicable for the arguments ((<no type> result) -> {})

最佳答案

您想使用thenAccept而不是thenApply

thenApply 采用一个 Function ,其形式为

public interface Function<T, R> {
R apply(T t);
}

thenAccept 采用一个 Consumer ,其形式为

public interface Consumer<T> {
void accept(T t);
}

您提供的 lambda 没有返回值;它是无效的。因为泛型类型参数不能为 void,所以您的 lambda 不能转换为 Function 接口(interface)。另一方面,Consumer 具有 lambda 可以满足的 void 返回类型。

关于java - 获取 CompletableFuture.supplyAsync 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52953613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com