Lambda 的初步学习
来源:互联网 发布:绘制程序流程图软件 编辑:程序博客网 时间:2024/06/07 19:13
1.概念:Java 8中引入的新工具-Lambda表达式,它可以让你很简洁地表示一个行为或传递代码。现在你可以把Lambda表达式看作匿名功能,它基本上就是没有声明名称的方法,但和匿名类一样,它也可以作为参数传递给一个方法。
2.语法规则
Lambda表达式有三个部分,如图3-1所示。
参数列表 —— 接收传递的参数。
箭头 —— 箭头 -> 把参数列表与Lambda主体分隔开。
主体 —— 比较两个Apple的重量。表达式就是Lambda的返回值了。
例如:(1) () -> {} (2) () -> "Lambda" (3) () -> { return "Lambda ";} (4)(int x, int y) -> { System.out.println("Lambda:"); }
3. 用法
apple 实体类
接口,里面有一个比较的方法
以前,我们可以用匿名内部类,new 接口的实体重写方法来比较
现在我们用Lambda表达式
结果
4.总结
用了lambda后,代码更清晰了,那到底在哪里可以使用Lambda呢?你可以在函数式接口上使用Lambda表达式。在上面的代码中,你可以把 Lambda 表达式作为第三个参数 传给 comp方法,因为它这里需要Comparator,而这是一个函数式接口。如果这听起来太抽象,不要担心,现在我们就来详细解释这是什么意思,以及函数式接口是什么。
函数式接口: 我们这里的Comparator就是一个函数式接口,因为Comparator仅仅定义了一个抽象方法。一言以蔽之,函数式接口就是只定义一个抽象方法的接口。Java API中定义了一些函数式接口
所以上面我们的Comparator接口可以删掉,用java API 的Comparator接口 但是要指明泛型,lambda的参数列表的参数类型可以省略
- Lambda 的初步学习
- Lambda初步
- "lambda"和“bind”的初步思考
- Python lambda的学习
- lambda 与def 的区别&lambda 学习
- Java8学习笔记(一)-初步认识Lambda表达式
- Java8学习笔记(三)-Lambda表达式深入与流初步
- lambda表达式初步
- cocos2dx中lambda表达式几种用法的初步总结
- cocos2dx中lambda表达式几种用法的初步总结
- lambda表达式的学习笔记
- 学习java8的lambda表达式
- 编程的初步学习
- json的初步学习
- Smarty的初步学习
- json的初步学习
- OpenMP的学习初步
- 模板的初步学习
- 支付宝也开始做小程序了 对微信小程序来说喜忧参半
- 接口测试基础-3-接口测试工具介绍
- ubuntu 用git
- 通过使用bandwagon虚拟主机+shadowsocks+sockscap实现通过socks代理访问网站
- 日志时间与系统时间不一致问题解决方法
- Lambda 的初步学习
- Android开发常用git命令
- mysql5.6配置慢查询 及安装pt-query-digest,检查重复索引pt-duplicate-key-checker
- EXCEL工作表保护密码破解
- before,after 和 content的一些用法
- 超星尔雅在线课程小技巧
- Android studio 空文件夹自动合并去掉
- xheditor的参数配置详解
- Spring+SpringMVC+Mybatis+maven整合