Вот что я знаю:
-
Doubleявляется подтипомNumberиList<Double>не является подтипомList<Number>. -
List<Dog>не является подтипомList<Animal>, потому что вы можете добавитьCatвList<Animal>, но вы не можете сделать это с помощьюList<Dog>. -
List<? extends Number>означает, что этот список может хранить переменные типа Number и переменные подтипа Number.List<Double>означает, что этот список может хранить переменные типа Double.
Пожалуйста, поправьте меня, если что-то выше неправильно, а затем Is List<Double> подтип List<? extends Number> и почему?