最佳答案
在Java 8中可以转换流吗?假设我有一个对象列表,我可以这样做来过滤掉所有额外的对象:
Stream.of(objects).filter(c -> c instanceof Client)
在这之后,如果我想对客户端做一些事情,我需要对他们每个人都进行casting:
Stream.of(objects).filter(c -> c instanceof Client)
.map(c -> ((Client) c).getID()).forEach(System.out::println);
这看起来有点难看。是否可以将整个流转换为不同的类型?比如将Stream<Object>
转换为Stream<Client>
?
请忽略这样做可能意味着糟糕设计的事实。我们在计算机科学课上做过类似的事情,所以我在研究java 8的新功能,并想知道这是否可行。