В соответствии с пробником Generics,
В этом разделе указано:
Учитывая два конкретных типа A и B (например, Number и Integer),
MyClass<A>
не имеет отношения кMyClass<B>
, независимо от того, связаны ли A и B или нет. Общий родительский элементMyClass<A>
иMyClass<B>
- это Object.
Тем не менее, здесь нам говорят,
Хотя Integer является подтипом Number,
List<Integer>
не является подтипомList<Number>
и, фактически, эти два типа не связаны. Общий родительский элементList<Number>
иList<Integer>
равенList<?>
.
Почему в первом примере MyClass<?>
нет родителя MyClass<A>
/MyClass<B>
? В чем заключается различие?