Java8 新特性简述
1. Lambda表达式
Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中)
2. 方法引用
方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码
3. 默认方法
默认方法就是一个在接口里面有一个实现的方法
4. 新工具
新的编译工具,如:Nashorn引擎jjs、类依赖分析器jdeps
5. Stream API
新添加的Stream API(java.util.stream)把真正的函数式编程风格引入到Java中
6. Date Time API
加强对日期与时间的处理
7. Optional类
Optional类已经成为Java 8类库的一部分,用来解决空指针异常
8. Nashorn,JavaScript引擎
Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用
Lamda表达式的优缺点
优点
- 简洁
- 非常容易并行计算
- 可能代表未来的编程趋势
缺点
- 若不用并行计算,很多时候计算速度没有比传统的for循环快(并行计算有时需要预热才显示出效率优势)
- 不容易调试
- 若其他程序员没有学过lambda表达式,代码不容易让其他语言的程序员看懂