16

假设我想foo异步运行静态方法

void foo() throws Exception {...} 

由于foo引发异常,我宁愿创建 aCallable并使用它调用ExecutorService.submit以获取Future.

现在我想知道如何正确地声明Callable这些Future。我应该宣布他们

Callable<Void> and Future<Void>?
4

2 回答 2

23

我应该声明它们Callable<Void>Future<Void>

是的。

Void类似于原始类型等的包装类Integer等。您可以说它是 的包装类,即使它不是真正的类型。Longintlongvoidvoid

于 2013-08-29T13:19:59.297 回答
2

我认为你应该声明它们Callable<?>并且Future<?>. 然后,您可以随心所欲地实现它们,包括Callable<Void>and Future<Void>

于 2013-08-29T14:33:42.120 回答