我想使用無界通配符,因爲我有一些Callable的返回一個對象,但我對該對象不感興趣(他們返回null,我只是使用Callable而不是Runnable來能夠拋出檢查異常)。正確使用無界wilcard的泛型
所以在原則上我想這樣做:
CompletionService<?> ecs = ...
Callable<?> = ...
Future<?> f = ecs.submit(c);
但在這裏我得到一個錯誤說:
在類型的方法
submit(Callable<capture#1-of ?>)
CompletionService<capture#1-of ?>
不適用於參數 (Callable<capture#2-of ?>
)
後來我只想給f.get()來處理提交的任務中拋出的異常。
那麼處理這個問題的正確方法是什麼?
'Void'好。它實際上可以確保在編譯時你的方法確實返回null(而沒有其他)。 – Thilo
是的,這正是我所尋找的。從未聽說過。 – bennihepp