Я пытаюсь использовать неограниченные подстановочные знаки, потому что у меня есть некоторые Callable, которые возвращают Object, но меня не интересует объект (они возвращают null, и я просто использую Callable вместо Runnable to быть в состоянии бросить проверенные Исключения).Правильное использование неограниченных генериков 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