web-dev-qa-db-ja.com

Javaでvoidを返す関数を実行するためにCallableを宣言する方法は?

静的メソッドfooを非同期で実行したいとします。

void foo() throws Exception {...} 

fooは例外をスローするので、Callableを作成し、それを使用してExecutorService.submitを呼び出して、Futureを取得することをお勧めします。

ここで、これらのCallableFutureを適切に宣言する方法を考えます。私はそれらを宣言する必要があります

Callable<Void> and Future<Void>?
16
Michael

それらを宣言する必要がありますCallable<Void>およびFuture<Void>

はい。

Voidは、プリミティブ型IntegerLongなどのラッパークラスintlongなどに似ています。 voidは実際には型ではありませんが、voidのラッパークラスです。

22
Jesper

Callable<?>Future<?>を宣言する必要があると思います。次に、Callable<Void>Future<Void>を含めて任意の方法でそれらを実装できます。

2
emory