Generic: странное поведение wildcard'а?
Стирание типов. Про это есть в любом учебнике, затрагивающем тему обобщений.
https://stackoverflow.com/questions/4460580/java-g...
Это сделано для обратной совместимости. 
На эту тему ( стирания ) есть много каверзных примеров