List<Contact> contacts = dataManager().getContactsDao().getAll();
Когда мне нужно преобразовать его в ArrayList<Contact>
, вместо повторения списка и копирования элементов в arraylist один за другим, есть ли другой способ сделать это?
я пытался
ArrayList<Contact> contactarylist =
(ArrayList<Contact>) dataManager().getContactsDao().getAll();
но это приведет к ClassCastException
из-за того, что List
to ArrayList
не разрешено.
благодаря
Просто используйте интерфейс List<>
небезопасный класс в вашем коде. Спящий режим не возвращает ArrayList в качестве реализации результирующего набора. Но он возвращает список. Такой же код, все переменные должны быть определены как интерфейсы, но они могут быть инициализированы конкретным классом.
List<Contact> cs = new ArrayList<>();
...
cs = dataManager().getContactsDao().getAll();
И если вам нужно, чтобы ArrayList использовал конструктор, который принимает коллекцию
List<Contact> cs = new Arraylist<>(dataManager().getContactsDao().getAll());
ContactsDAO.getAll()
?ContactsDao.getAll