2015-04-01 77 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中如何實現函數對象。