【问题标题】:Java8 Lamda function - adding new parameterJava 8 Lambda 函数 - 添加新参数
【发布时间】:2017-11-07 09:46:58
【问题描述】:

我有以下代码:

categoryList = Prices.stream()
               .filter(price -> price.getPrice() != null)
               .map(this::createCategory)
               .filter(Objects::nonNull)
               .collect(Collectors.toList());

方法如下:

private Category createCategory(PriceCategory price) {
        Category category = new Category();
        category.setId(price.getId());
        return category;
    }

我想为方法 createCategory 添加一个新参数 - 例如createCategory(PriceCategory price, response) 但我不知道如何将这个新参数设置为 lamda 函数。有人可以帮忙吗

【问题讨论】:

  • 您正在使用方法参考。只需将其更改为 lambda 表达式,问题就会消失(提示:您在前面的filter 步骤中使用的是 lambda 表达式)。
  • 可能,但您需要先定义responses 值的来源。

标签: function lambda java-8


【解决方案1】:

你不能简单地创建一个 lambda 吗?

.map(x -> createCategory(x, response)) 

【讨论】:

  • 仅在response值在闭包中定义的情况下。
猜你喜欢
  • 2015-07-08
  • 2021-04-14
  • 1970-01-01
  • 2019-07-02
  • 1970-01-01
  • 2015-11-19
  • 1970-01-01
  • 1970-01-01
  • 2018-10-17
相关资源
最近更新 更多