Почему не работает код: List<Object> list = (List<Object>) List<MyOwnObject>();
#java #коллекции
Нужно сделать такой даункастинг:
List
Ответы
Ответ 1
Я правильно понял: вопрос про наследование в дженерик классах?
Если да, то в вашем случае код должен выглядеть так:
List list = new ArrayList();
Поскольку это Object то можно просто
List list = new ArrayList();
Ответ 2
List это интерфейс, нельзя создавать объекты от него.
Объекты можно будет создать от классов (или их потомков), которые реализуют этот
интерфейс, такие как: ArrayList, LinkedList, Stack, Vector
Кроме того, в примере вопроса нет самого создания объекта, нет оператора new
Правильно будет:
List list = new ArrayList();
// Еще вариант:
List list = (java.util.List) new ArrayList();
Контейнер без типа (такой как List list) считается контейнером Object. Т.е. List
list для java это List list
Комментариев нет:
Отправить комментарий