У меня есть список класса R со списком другого класса P
List<R> rList = getRListFromDb();
Я хотел бы получить все объекты P в другом списке
List<P> result = new ArrayList<>();
Я пробовал эти, но давая мне исключение приведения класса, говоря, что класс P не может быть преобразован в класс R. По тому, как я видел проблему, приведенную ниже, но пытался и не мог ее выяснить.
Как мне обратитьсяСписок списков в список в Java 8?
1. rList.stream().map(R::getP).flatMap(List::stream).forEach(result::addAll);
2. rList.forEach(r -> result.addAll(r.getP()));
Я хотел бы узнать, что здесь не так, а также хотел бы узнать различные способы сделать это в Java 8.