为什么CompletableFuture.complete()在完成错误类型时抛出ClassCastException

时间:2018-05-25 21:03:15

标签: java

此代码不会打印任何内容,也不会抛出任何错误:

    CompletableFuture<Integer> publicStage = new CompletableFuture<>();
    publicStage.thenAccept(i -> System.out.println("i = " + i));

    CompletableFuture<String> cfs = (CompletableFuture)publicStage;
    cfs.complete("foo");

这是因为thenAccept中的函数永远不会被调用,我会预料会抛出某种错误,而不是仅仅丢弃函数并继续。

0 个答案:

没有答案