オブジェクトを返すCallableがいくつかあるため、無制限のワイルドカードを使用しようとしていますが、オブジェクトには興味がありません(nullを返し、Runnableの代わりにCallableを使用して、チェックされた例外をスローできるようにしています)。
だから原則として私はこれをしたい:
CompletionService<?> ecs = ...
Callable<?> = ...
Future<?> f = ecs.submit(c);
しかし、ここで次のようなエラーが表示されます。
submit(Callable<capture#1-of ?>)
型 のメソッドCompletionService<capture#1-of ?>
は引数に適用できません (Callable<capture#2-of ?>
)
後で、送信されたタスクでスローされた例外を処理するために f.get() を呼び出したいだけです。
では、これを処理する適切な方法は何ですか?