对于Java8上的方法调用

时间:2018-06-26 13:09:17

标签: java lambda java-8 java-stream

如何使用Stream s写以下内容?

List<CardInfoRow> result = resp.fetchCards();
for(CardInfoRow row: result) {
    responceEnvelope.getCardInfo().add(row.convertRowToModel());
}

我尝试了

result.stream.peek(el ->el.getCardInfo()).foreach(CardInfoRow::convertRowToModel)

但是它不起作用。

1 个答案:

答案 0 :(得分:2)

首先,您可以map每个CardInfoRow到其相应的模型,然后可以使用forEach将模型添加到responceEnvelope.getCardInfo()

result.stream()
      .map(CardInfoRow::convertRowToModel)
      .foreach(model -> responceEnvelope.getCardInfo().add(model));