在.NET中,有一种简单的方法可以组合两个委托(.NET的lambda版本)。
基本上,你有:
基本上,你有:
LambdaType f1 = (a, b) => doSomething(a, b);
LambdaType f2 = (a, b) => doSomethingElse(a, b);
LambdaType combined = System.Delegate.Combine(f1, f2);
// combined is equiv to: (a, b) => { f1.invoke(a, b); f2.invoke(a, b);};
Java中是否有类似的方法可以合并两个Lambda表达式?目前我还没有想到。尽管定义第二个Lambda表达式只是调用两个或多个Lambda表达式并不是太难,但这将是一个不错的小工具。
Combine
是什么作用?它是AND
还是OR
? - Konstantin YovkovandThen
。 - Marko Topolnik