2015-04-01 69 views
-2

我错过了上课的一天,无法找到某人向我解释这部分任务? 什么的((a, b) -> a + b, (a, b) -> a * b);这个Lambda操作有什么作用?

Ring<Integer> r = new Ring<Integer>((a, b) -> a + b, (a, b) -> a * b) 

我不认为需要对环的情况下,只关心表达。

+0

你问''>'语法是什么? (这是Java吗?) – Ryan 2015-04-01 21:49:55

+0

由于某种原因,格式化正在破坏实际的代码行。 我在问这是什么目的((a,b) - > a + b,(a,b) - > a * b) – Zein 2015-04-01 21:51:28

+0

请指定一种编程语言。 – merlin2011 2015-04-01 21:51:28

回答

1

(a,b) -> a+b是一个匿名函数,取2个参数ab并返回a+b。同样,(c,d) -> c*d是一个匿名函数,取2个参数cd并返回c*d

Ring类在构造函数中使用2个函数作为参数,并绑定它们以便稍后在需要时执行它们。 Google java lambdas如果您好奇Java中如何实现函数对象。