Можно ли привести поток в Java 8? Скажем, у меня есть список объектов, я могу сделать что-то вроде этого, чтобы отфильтровать все дополнительные объекты:
Stream.of(objects).filter(c -> c instanceof Client)
Однако после этого, если я хочу что-то сделать с клиентами, мне нужно разыграть каждого из них:
Stream.of(objects).filter(c -> c instanceof Client)
.map(c -> ((Client) c).getID()).forEach(System.out::println);
Это выглядит немного некрасиво. Можно ли привести весь поток к другому типу? Как бросить Stream<Object>
к Stream<Client>
?
Пожалуйста, игнорируйте тот факт, что подобные вещи, вероятно, означают плохой дизайн. Мы занимаемся такими вещами на моем уроке информатики, поэтому я изучал новые функции Java 8 и мне было любопытно, возможно ли это.