2013-05-31 150 views
47

正在Java 8中添加Lambda表达式。我想了解为什么这很重要。对于尚未暴露于函数式编程习惯用法的Java程序员来说,这意味着什么?这是否意味着我可以编写性能更好或可以大规模扩展的代码,或者只是使代码更加冗长。或者全部。Java Lambda表达式

+0

我参加了一门关于编程语言组织的课,我的教授告诉我的是,你可以让你的代码很懒。你也是,我还不明白这个,能不能“爬到山顶”?但是真的,它让我失望了,迫不及待地想看到答案。 – 2013-05-31 14:48:40

+0

嗯,我可以看到的一个用途是运行时选择和功能创建。假设你对一个对象做了一些事情,并且根据你做了什么,你需要将它传递给100个方法之一或者一个方法与100个ifs,使用lambda表达式,你可以在没有if的情况下编写一个方法。 – arynaq

+5

'E = hc /λ'!!!克蒙人! – Tdorno

回答

38

关于这个话题,Oracle已经有tutorial了。它列出了几个很好的用例。

在我找到链接之前,我会说lambda表达式让你传递“函数”给代码。所以你可以更容易地编写代码,以前我们需要一整套的接口/抽象类。例如,假设您的代码具有一些复杂的循环/条件逻辑或工作流程。一步你想做一些不同的事情。用lambda表达式,你可以传入那个“不同的东西”。但请阅读教程。这很清楚。

+0

我有点困惑因为你使用短语 - “*在我找到链接之前,我会说*”。那么,在您找到Oracle链接后,您的意见/想法会发生改变?我的意思是你在想错或“少”,在阅读完这个链接之后,你意识到还有更多。我问的原因是我之前提到的是这个链接的正确和主旨,所以我想知道我是否没有意识到lambda表达式的全部潜力。 – hagrawal

+0

我的意思是我的语言。本教程更好地表达了它 –