Не удается преобразовать из списка <List> в список <List <? >>
Необработанный список преобразуется вList<?>
просто хорошо. Почему список необработанных списков нельзя преобразовать в списокList<?>
?
{ // works
List raw = null;
List<?> wild = raw;
}
{ // Type mismatch: cannot convert from List<List> to List<List<?>>
List<List> raw = null;
List<List<?>> wild = raw;
}
Предыстория (чтобы смягчитьпроблема ху):
API, который я использую, возвращаетList<JAXBElement>
, Я знаю, что это всегдаList<JAXBElement<String>>
, Я планирую зациклить и построить свой собственныйList<String>
, но я пытался исправить (но не подавить) предупреждение компилятора необработанного типа, когда я пишуList<JAXBElement> raw = api();
.
Я старался:
List<JAXBElement<?>> raw = api();
List<JAXBElement<?>> raw = (List<JAXBElement<?>>) api();
но они дают ошибку несоответствия типов.
Интересно, что это не дает предупреждения или ошибки:
for (JAXBElement<?> e : api()) {
// ...
}