最后在 Java 8 中使用 CompletableFuture dealio。我遇到了一个我不太理解的编译错误(在我的 IDE 中)。
我有一个List<String>
要附加到 URL 的标识符,然后异步调用每个 url。到目前为止,我只有这几种方法。
private void process(List<String> identifiers) {
List<CompletableFuture<String>> futures = identifiers.stream()
.map(CompletableFuture.thenApply(this::sendRequest))
.collect(toList());
}
private void sendRequest(String s) {
// do some URL building and append the string to the end of the url.
// then call it, don't care about result yet
}
我得到的编译器错误出现this::sendRequest
在第一种方法中。它抱怨我的班级没有定义sendRequest(Object)
方法。
但是我想通过输入identifiers
我不需要担心在我的 lambda 表示法中调用类型?我什至不确定如何使用::
运算符指定类型。也许我什至不应该使用::
运营商?我很困惑。