Java:流上的函数组合
我需要创建如下代码:Java:流上的函数组合,java,java-stream,Java,Java Stream,我需要创建如下代码: this.getPendingDocuments() .forEach((this::documentProcessed).andThen(this::createAuditory)); 我的意思是,我需要对同一个元素应用两个函数 有什么想法吗 编辑 编译器告诉我: [Java]此表达式的目标类型必须是函数接口 您可以编写一个lambda表达式来执行这两种方法: this.getPendingDocuments() .forEach(doc -> {
this.getPendingDocuments()
.forEach((this::documentProcessed).andThen(this::createAuditory));
我的意思是,我需要对同一个元素应用两个函数
有什么想法吗
编辑
编译器告诉我:
[Java]此表达式的目标类型必须是函数接口
您可以编写一个lambda表达式来执行这两种方法:
this.getPendingDocuments()
.forEach(doc -> {
this.documentProcessed(doc);
this.createAuditory(doc);
});
您可以编写执行这两种方法的lambda表达式:
this.getPendingDocuments()
.forEach(doc -> {
this.documentProcessed(doc);
this.createAuditory(doc);
});
使用forEach()时,可以在内部添加更多函数。。。像这样
this.getPendingDocuments()
.forEach( element -> {
this.documentProcessed(element);
this.createAuditory(element);
});
使用forEach()时,可以在内部添加更多函数。。。像这样
this.getPendingDocuments()
.forEach( element -> {
this.documentProcessed(element);
this.createAuditory(element);
});
必须将方法引用指向函数接口类型。在这种情况下,forEach
需要一个Consumer
实例:
Consumer<Document> processDocument = this::documentProcessed;
this.getPendingDocuments().forEach(processDocument.andThen(this::createAuditory));
consumerprocessdocument=this::documentProcessed;
this.getPendingDocuments();
上面的代码使用消费者。然后
链接消费者。当然,这两种方法都应该接受文档
实例作为参数(或者由getPendingDocuments()
方法返回的Iterable
的元素类型是什么)。必须将方法引用指向函数接口类型。在这种情况下,forEach
需要一个Consumer
实例:
Consumer<Document> processDocument = this::documentProcessed;
this.getPendingDocuments().forEach(processDocument.andThen(this::createAuditory));
consumerprocessdocument=this::documentProcessed;
this.getPendingDocuments();
上面的代码使用
消费者。然后
链接消费者。当然,这两种方法都应该接受文档
实例作为参数(或者由getPendingDocuments()
方法返回的Iterable
元素的任何类型)。执行这些方法(documentProcessed和CreateAudio)有返回值吗?documentProcessed
和createauditive
做什么?当我们清楚地处于消费者
的环境中时,为什么会出现关于功能的问题?你能澄清一下吗?消费者
确实有一个和第二个
方法。你的代码不起作用吗?我编辑了这篇文章。这些方法(documentProcessed和CreateAdvisory)有返回值吗?documentProcessed
和CreateAdvisory
做什么?当我们清楚地处于消费者
的环境中时,为什么会出现关于功能的问题?你能澄清一下吗?消费者
确实有一个和第二个
方法。你的代码不起作用吗?我编辑过这篇文章。