Изменения
Generics
,→Проблемы реализации Generics
addAll(new AL<Integer>(), new AL<Object>()); //Ошибка
Проблема в том что две Коллекции могут быть разных типов, а это приводит к (несовместимость generic-типов). Для таких случаев было придуман Bounded type argument. Он нужен если метод ,который мы пишем использовал бы определенный тип данных. Для этого нужно ввести <N extends M> (N принимает ток только значения M).
Также можно корекнно писать <T extends A & B & C>. (Принимает значения нескольких переменных)