JAVA 基础 -- java8 新特性一之 lambda 表达式
你可以不知道怎么编写带有lambda表达式的代码,但是你必须能看明白它到底是什么东西,因为目前流行后端框架中都有它的身影。
如果需要使用到lambda表达式,那么必须要了解函数式接口。
什么是函数式(Functional)接口:一个接口有且仅有一个抽象方法,那么,这个接口,我们把它叫做函数式接口。
举例:
(o1,o2) -> Integer.compare(o1,o2);
左边( (o1,o2) ):lambda形参列表 (其实就是接口中的抽象方法的形参列表)。
右边( Integer.compare(o1,o2); ):lambda体 (其实就是重写抽象方法的方法体)。
Lambda使用(六种情况):
总结:
--> 左边: lambda形参列表的参数类型都可以省略(类型推断);如果lambda形参列表只有一个,()可以省略。
--> 右边:lambda体应该使用{}包裹,如果lambda方法体如果只有一条语句,可以省略return和大括号(注意:要省略必须同时省略。)
版权声明: 本文为 InfoQ 作者【起个名字很难】的原创文章。
原文链接:【http://xie.infoq.cn/article/39646f1ad6ea26fbafbc1cb98】。文章转载请联系作者。
评论