CompletionStage:为什么在CompletableFuture

时间:2016-02-22 17:30:05

标签: java java-8 completable-future

我有一个使用界面CompletionStage的框架,我很好奇为什么在CompletableFuture中找到辅助方法anyOfallOf。< / p>

好像他们应该在接口而不是实现上运行?

到目前为止,我对CompletionStage界面非常不满意。 是否有其他Java库符合CompletionStage,但有人建议使用不同的超集界面?

或许某些库使用其他帮助方法编写,以便与CompletionStage一起使用?

2 个答案:

答案 0 :(得分:2)

如果你想要的是一种为anyOf类型的对象提供相同allOfCompletionStage功能的方法,你可以简单地使用toCompletableFuture

public static CompletionStage<Object> anyOf(CompletionStage<?>... css) {
    return CompletableFuture.anyOf(Arrays.stream(css)
        .map(CompletionStage::toCompletableFuture).toArray(CompletableFuture[]::new));
}
public static CompletionStage<Void> allOf(CompletionStage<?>... css) {
    return CompletableFuture.allOf(Arrays.stream(css)
        .map(CompletionStage::toCompletableFuture).toArray(CompletableFuture[]::new));
}

答案 1 :(得分:0)

以下是我提出的内容

if(section==0)
    then "section1"
if(section==1)
    then "section2"