首页 > 其他 > 详细

Lamda Expression

时间:2019-05-07 21:21:53      阅读:129      评论:0      收藏:0      [点我收藏+]

Lambda表达式又被成为闭包或者匿名函数(闭包的概念主要出自于函数式编程)。

在Java中,我们可以将Lambda表达式看作是任意函数式接口类型的一个匿名实例。Java Lambda表达式的出现,从一定程度上改变了代码的编写方式,提供了更轻量级的语法实现。为了快速理解这一概念我们通过下面的示例代码进行理解: 
Java Lambda Expression 出现前的函数式接口编码方式(‘重量级”编程方式)
Collections.sort(list, new Comparator<String>(){
    @Override
    public int compare(String str1, String str2){
        return str1.compareTo(str2);
    }
})123456
Java Lambda Expression 出现之后的Lambda式编码方式(“轻量级”编码方式)
 
Collections.sort(list, (str1, str2) -> str1.compareTo(str2));1
在使用Java Lambda Expression之后是不是感觉整个编码方式都不对劲了~^-^~。上面的Lambda表达式将会由Java编译器自动推导出参数类型,并将其翻译为对应的方法。最终我们只是用(str1, str2) -> str1.compareTo(str2)这一段表达式就完成了之前需要使用一个匿名类来完成的功能。
lambda表达式的语法由参数列表、箭头符号->和函数体组成。函数体既可以是一个表达式,也可以是一个语句块: 
1.表达式:表达式会被执行然后返回执行结果。 
2.语句块:语句块中的语句会被依次执行,就像方法中的语句一样。同样的在执行完所有代码语句后,return语句会把控制权交给匿名方法(Lambda表达式)的调用者。break和continue只能在循环中使用,如果函数体有返回值,那么函数体内部的每一条路径都必须返回值。

Lamda Expression

原文:https://www.cnblogs.com/wpj593780933/p/10828140.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!