Как это может быть так, что ArrayList<Class<?>>
имеет такое же стирание ArrayList<Object>
, но не может быть отброшено на него?То же стирание, но не такое же.
В настоящее время мой код переключается между двумя ошибками затмения.
GenericExclusiveSelectionPanel transport =
new GenericExclusiveSelectionPanel(StringConstants.TRANSPORT,
(ArrayList<Object>)TransportManager.getInstance().getTransportTypes());
, который показывает:
Cannot cast from ArrayList<Class<Transportable>> to ArrayList<Object>
Если удалить бросание однако и создать конструктор:
GenericExclusiveSelectionPanel(String, ArrayList<Class<Transportable>>)
я получаю сообщение об ошибке затмения, что:
Erasure of method GenericExclusiveSelectionPanel(String,
ArrayList<Class<Transportable>>) is the same as another method in type
GenericExclusiveSelectionPanel
It затем выделяет конструктор (ниже) как конфликтный конструктор.
GenericExclusiveSelectionPanel(String title, ArrayList<Object> arrayList)
Почему вы ожидаете, что один тип может быть отлит другим, потому что у них одинаковое стирание? – user2357112
@LawrenceColes Пожалуйста, прочитайте [Что делать, если кто-то отвечает на мой вопрос] (http://stackoverflow.com/help/someone-answers). И да, Хороший вопрос. +1 от меня. Посмотрите на мой ответ и дайте мне знать, если вам нужно какое-либо разъяснение – CKing