É possível transmitir um fluxo no Java 8? Digamos que eu tenha uma lista de objetos, posso fazer algo assim para filtrar todos os objetos adicionais:
Stream.of(objects).filter(c -> c instanceof Client)
Após isso, porém, se eu quiser fazer algo com os clientes, precisarei converter cada um deles:
Stream.of(objects).filter(c -> c instanceof Client)
.map(c -> ((Client) c).getID()).forEach(System.out::println);
Isso parece um pouco feio. É possível converter um fluxo inteiro para um tipo diferente? Como elenco Stream<Object>
para um Stream<Client>
?
Por favor, ignore o fato de que fazer coisas como essa provavelmente significaria um design ruim. Como fazemos coisas na minha aula de ciências da computação, eu estava analisando os novos recursos do java 8 e fiquei curioso para saber se isso era possível.