Có thể truyền một luồng trong Java 8 không? Nói rằng tôi có một danh sách các đối tượng, tôi có thể làm một cái gì đó như thế này để lọc ra tất cả các đối tượng bổ sung:
Stream.of(objects).filter(c -> c instanceof Client)
Sau này, nếu tôi muốn làm gì đó với khách hàng, tôi sẽ cần phải chọn từng người trong số họ:
Stream.of(objects).filter(c -> c instanceof Client)
.map(c -> ((Client) c).getID()).forEach(System.out::println);
Cái này trông hơi xấu xí. Có thể truyền toàn bộ một luồng sang một loại khác không? Thích cast Stream<Object>
đến a Stream<Client>
?
Hãy bỏ qua thực tế rằng làm những việc như thế này có thể có nghĩa là thiết kế xấu. Chúng tôi làm những thứ như thế này trong lớp khoa học máy tính của tôi, vì vậy tôi đã xem xét các tính năng mới của java 8 và tò mò liệu điều này có thể không.