体验 Scala 2.12 支持的 Java 8 风格(SAM) Lambda
来源:互联网 发布:网络视频主持人 编辑:程序博客网 时间:2024/05/19 17:04
上一次关注 Scala 新版本特性还是在将近五年前,针对的是 Scala 2.10. 后来也一直在使用 Scala,基本上是 Scala 2.11,但对 Scala 2.11 所带来的新特性基本无知,大约有个 Macro 功能,没什么机会用上,应用 sbt 时稍有接触。还是老句老话,了解新特性最可靠的文档是每个版本的的 Release Notes, 比如 Scala 2.12.0 Release Notes.
其中 Scala 2.12 带来的主要特性在于对 Java 8 的充分支持:
- Scala 可以有方法实现的 trait 直接编译为带默认方法的 Java 接口
- Lambda 表达式无需生成相应的类,而是用到
invokedynamic
字节码指令(这个是 Java 7 加进来的新指令) - 最方便的功能莫过于终于支持 Java 8 风格的 Lambda,即功能性接口的 SAM(Single Abstract Method)
Scala 的 Lambda 内部实现
这儿主要是体验 Scala 2.12 如何使用 Java 8 风格的 Lambda. 在 Scala 2.12 之前,Scala 对 Lambda 的支持是为你准备了一大堆的 trait 类,有
- Function0, Function1, ...... Function22 (接收多个参数,返回一个值)
- Product1, Product2, ...... Product22 (函数返回多个值,即 TupleX 时用的)
阅读全文 >>
阅读全文
0 0
- 体验 Scala 2.12 支持的 Java 8 风格(SAM) Lambda
- Java 中SAM的Lambda表达式的条件测试
- 为什么 Kotlin 调用 java 时可以使用 Lambda? —— SAM 转换机制的介绍
- Java 8 vs. Scala(一): Lambda表达式
- Scala的函数式风格
- Java 8 里的 Lambda
- scala基础27-SAM转换
- Scala支持与Java的隐式转换
- scala风格的插入式排序代码
- scala风格的Merge Sort代码
- Scala 体验
- SpringMVC的Restful风格支持
- iOS开发支持的8种风格键盘
- [Java 8] (11) 使用Lambda的原则
- Java 8里面lambda的最佳实践
- 理解JAVA 8的Lambda表达式
- Java 8里面lambda的最佳实践
- Java 8新增的Lambda表达式
- 处理文件上传后返回json数据在IE出现文件下载问题
- springboot(十六):使用Jenkins部署Spring Boot
- GitHub贡献统计显示
- C# 合并Dictionary
- 【第十周】项目1-层次遍历算法的验证
- 体验 Scala 2.12 支持的 Java 8 风格(SAM) Lambda
- C语言-汉诺塔
- iOS 广告轮播图的实现
- 第十一周-项目三-图的遍历
- 个人oracle复习
- zigbee学习笔记(二) 开发环境
- 2017第二十三届上海国际加工包装展览会会刊(参展商名录)
- sublime 按 tab 键,想使用缩进却自动补全?
- QT中文乱码