是否存在将超类映射到子类的特定聚合操作?

时间:2016-02-13 21:36:00

标签: java lambda

是否存在将超类映射到子类的特定聚合操作?

我经常发现自己正在进行以下操作:

list
.stream()
.map((A element) -> (SubClassA) element);

是否有一个操作与上面的map函数相同,即取Stream个值并将它们转换为子类?

2 个答案:

答案 0 :(得分:3)

我能想到的最简单的是:

Stream<X> stream1 = ...
Stream<SubClassA> stream2 = stream1.map(SubClassA.class::cast);

答案 1 :(得分:0)

使用通用wirldcard。

$('#tbl').on('click', '.edit', function(){...})