Почему дженерики полностью отключены, когда вы игнорируете тип параметра?

В качестве продолженияэтот вопроссначала фон

Дан класс с этим объявлением:

<code>public class SomeClass<T>
</code>

И подкласс, который не использует универсальный параметр:

<code>public class SomeSubClass extends SomeClass
</code>

Метод в SomeClass объявлен следующим образом:

<code>protected Map<String, Object> getMap(Object param) {
}
</code>

Если подкласс вызывает метод следующим образом:

<code>Map<String, Object> val = getMap(param);
</code>

Компилятор по существу жалуется на то, что getMap возвращает простую карту и существует непроверенное назначение обобщенной карте. Почему это так? Это документированные ожидания с Generics, и есть ли причина для этого?

Ответы на вопрос(2)

Ваш ответ на вопрос