如何声明Callable执行函数在Java中返回void?

时间:2013-08-29 13:18:18

标签: java concurrency future callable

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

void foo() throws Exception {...} 

由于foo会引发异常,我宁愿创建一个Callable并调用ExecutorService.submit来获取Future

现在我想知道如何恰当地声明CallableFuture。 我应该申报吗

Callable<Void> and Future<Void>?

2 个答案:

答案 0 :(得分:22)

  

我应该声明Callable<Void>Future<Void>吗?

对于基本类型VoidInteger等,

Long类似于包装类intlong等。您可以说它是一个包装器void的类,即使void不是真正的类型。

答案 1 :(得分:2)

我认为您应该声明Callable<?>Future<?>。然后,您可以随意实施它们,包括Callable<Void>Future<Void>