Я никогда не слышал о wildcars до нескольких дней назад и после прочтения моей книги преподавателей Java, я все еще не уверен, для чего это и зачем мне нужно ее использовать.
Скажем, у меня есть суперкласс Animal
и несколько подклассов, таких как Dog
, Cat
, Parrot
и т.д. Теперь мне нужно иметь список животных, моя первая мысль была бы чем-то как:
List<Animal> listAnimals
Вместо этого мои коллеги рекомендуют что-то вроде:
List<? extends Animal> listAnimals
Почему я должен использовать подстановочные знаки вместо простых дженериков?
Скажем, мне нужно иметь метод get/set, следует ли использовать первый или более поздний? Как они такие разные?