Страницы

Поиск по вопросам

пятница, 20 декабря 2019 г.

Почему не работает код: List<Object> list = (List<Object>) List<MyOwnObject>();

#java #коллекции


Нужно сделать такой даункастинг:

List list = (List) List();


Почему не получается?

Мне нужно создать метод который будет принимать лист любых объектов и сохранять их
содержимое (через toString) в файл.
    


Ответы

Ответ 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

Комментариев нет:

Отправить комментарий