如何推荐Lambda? [英] How to refer a Lambda?
本文介绍了如何推荐Lambda?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果,例如,我需要递归使用 myLambda
,我如何从其中引用 Lambda ?
myLambda - > {expression}
// ^^^^^^^^^^我怎么能在这里引用myLambda?
解决方案
我误解了你的问题。以下是递归调用lambda表达式的方法:
import java.util.function。*;
public class Test
{
static Function< Integer,Integer> fib = null;
public static void main(String [] args)
{
fib = n - >
n == 0? 0
:n == 1? 1
:fib.apply(n - 1)+ fib.apply(n - 2);
System.out.println(fib.apply(8));
}
}
这会产生输出21. / p>
我借用了Jon Skeet的例子并进行了必要的修改以使其正常工作。
你可以找到另一个递归lambda表达式的示例此处。
How can I refer a Lambda from inside of it, if, for example, I need to use myLambda
recursively?
myLambda -> {expression}
// ^^^^^^^^^^ how can I refer to myLambda here?
解决方案
I misunderstood your question. Here's how you call a lambda expression recursively :
import java.util.function.*;
public class Test
{
static Function<Integer, Integer> fib = null;
public static void main (String[] args)
{
fib = n ->
n == 0 ? 0
: n == 1 ? 1
: fib.apply(n - 1) + fib.apply(n - 2);
System.out.println(fib.apply(8));
}
}
This produces the output 21.
I borrowed the example from Jon Skeet and made the changes required to make it work.
You can find another example of a recursive lambda expression here.
这篇关于如何推荐Lambda?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文