申し訳ありませんが、貧しいタイトルのために、誰かが良いアイデアを持っている場合は、私は提案に開放されています。宣言からサブタイプを返すJava 8 CompletableFuture
私はCompletableFuture
で遊んでいました。私は奇妙なことに遭遇しました。 A
とB
B extends A
、そうB
はA
のサブタイプである:
は、あなたが2つのクラスがあるとしましょう。
さて、CompletableFuture
を宣言してみましょう:B
はA
のサブタイプであることので、これが機能している
CompletableFuture<A> promiseofA = CompletableFuture.supplyAsync(() -> new B());
それはCompletableFuture
の宣言に準拠しています。今、私はexceptionally
ステップを追加したい場合は、その後、私はコンパイル例外があります。
CompletableFuture<A> promiseOfA = CompletableFuture.supplyAsync(() -> new B())
.exceptionally(ex -> new B());
この場合のJavaのことを述べ、不平を言っている:
Compilation error[ java.util.concurrent.CompletableFuture<B> cannot be converted to java.util.concurrent.CompletableFuture<A>]
は、なぜそれがexcepionally
ステップなしで働いていますそしてそれではない?
を具体的に:それはあなたも行うことができ、サプライヤー関数型の推論である '... supplyAsync((サプライヤー(A)new B()... ' –