我有一个像这样的Java-8-FunctionalInterface:
@FunctionalInterface
public interface A {
void doIt ();
}
Function
接口提供了compose
方法。我想使用它来简化一个类型为A
的流,如下所示:
Stream<A> as;
A composed = as.reduce (() -> {}, Function::compose);
作为结果,我希望有一个函数
A
,它调用每个流中的 A
的 doIt
方法。composed.doIt (); // Executes every doIt ()
但是因为A不是Function的实现者,所以在那里无法使用方法引用Function::compose。 我不能继承自Function(或Supplier),因为那样我会有两个抽象方法(我的和Function中的)。我该怎么做才能使我的函数由A组成呢?
do
不是 Java 中的有效标识符。 - fabianas.forEach(A::do)
吗? - assylias