如何将参数传递给Java 8 Lambda流函数?

时间:2016-12-05 21:20:27

标签: lambda java-8 java-stream

我是Java 8 Lambda的新手,所以我可能不熟悉正确的术语。请指出正确的方向,我将在我的问题中做出必要的修改。所以这就是:

我编写了一个java lambda函数,它执行了很多操作,但是我只是苦苦挣扎了一下。

代码:

 final List<JsonNode> curatedArticles = chubRelatedVideoArticles.stream()
            .filter(this::isValidRelatedVideoArticle)
            .filter(this::dedupeOGArticle)
            .map(this::convertChubRelatedVideosIntoMcsRelatedVideos)
            .collect(Collectors.toList());

现在,对于上面使用的所有函数,可以不传递参数,例如因为它使用“这个”。所以函数签名是:

private boolean isValidRelatedVideoArticle(final ChubRelatedVideoArticle article)

现在,我想将一个字符串传递给dedupeOGArticle以及“最终的ChubRelatedVideoArticle文章”。

提前致谢。

1 个答案:

答案 0 :(得分:9)

使用lambda:

.filter(article -> this.dedupeOGArticle(article, "some string"))