假设我想异步运行静态方法foo
void foo() throws Exception {...}
由于foo
会引发异常,我宁愿创建一个Callable
并调用ExecutorService.submit
来获取Future
。
现在我想知道如何恰当地声明Callable
和Future
。
我应该申报吗
Callable<Void> and Future<Void>?
答案 0 :(得分:22)
我应该声明
Callable<Void>
和Future<Void>
吗?
是
对于基本类型Void
,Integer
等, Long
类似于包装类int
,long
等。您可以说它是一个包装器void
的类,即使void
不是真正的类型。
答案 1 :(得分:2)
我认为您应该声明Callable<?>
和Future<?>
。然后,您可以随意实施它们,包括Callable<Void>
和Future<Void>
。