Вот что я знаю:
-
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>
и почему?