List<Integer> l; dump(l); // '''Ошибка'''
Ошибка возникаетПроблема в том что эта реализация кода не эффективна, так как коллекция Collection<Object> не является полностью родительской коллекцией всех остальных коллекции, грубо говоря Collection<Object> имеет свои ограничения в использовании. Для решения этой проблемы используется Wildcard ("?"). Он не имеет ограничения в использовании (то есть имеет соответствие с любым типом) и в этом его плюсы. И теперь, мы можем назвать это с любым типом коллекции. В этом примере List<Integer> не может использовать метод dump, так как он не является подтипом List<Object>.
'''Решение'''