主要内容
1.Lambda 表达式
2.函数式接口
3.方法引用与构造器引用
4.Stream API
5.接口中默认方法与静态方法
6.新时间日期API
7.其他新特性
新特性简介
1.速度更快
2.代码更少(lambda表达式)
3.强大的Stream API
4.便于并行
5.最大化减少空指针异常 Optional
lambda表达式
Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。
JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。
我们先定义两个测试接口:
package interfacer;
interface A {
public abstract int test(int num1,int num2);
}
interface B {
public void test(int a);
}
传统的实现接口的方式:
package interfacer;
public class Test implements A{
@Override
public int test(int num1, int num2) {
return 0;
}
}
用lambda表达式实现接口的方式
()-> { //代码块; }
优点:大幅降低代码量,简单易懂,同时实现一个接口,可以使用实现类,匿名内部类,lambda表达式,复杂程度也越来越低
JDK1.8概述
JDK1.8,又称之为Java 8(我习惯叫它为JDK1.8,后续统一叫做JDK1.8),是Java语言开发的一个主要版本。Oracle公司于2014年3月18日发布,它支持函数式编程,新的JavaScript引擎,新的日期API,新的Stream API等。
JDK1.8相比1.7之前版本,有以下几方面的优化:
速度更快;
代码更少(Lambda表达式);
强大Stream API;
便于并行;
最大化减少空指针异常(OPtional类)