【发布时间】:2016-06-04 23:44:30
【问题描述】:
我只是要求兴趣。是否可以通过使用 Java 的 Stream 来制作这样的东西? (应该是 Toys.stream()...)
Set<String> colors = new HashSet<>();
toys.forEach((toy) -> {
if (toy.getType() == Toys.BIKE) {
colors.add(((Bike) toy.getData()).getFrameColor());
} else {
colors.add(((Skateboard) toy.getData()).getColor());
}
});
我应该提到,我不可能将颜色存储在超类中。
【问题讨论】:
-
为什么不
toys.map(toy -> /* your code here */).collect(Collectors.toSet)?附言你为什么要投给Bike和SkateBoard? -
澄清你想要达到的效果。
标签: java foreach java-stream