JDK8新特性梳理

Python045

JDK8新特性梳理,第1张

JDK8新特性

1、Lambda表达式

1.1、基础语法

1.2、语法格式

1.2.1、语法格式1:

1.2.2、语法格式2:

1.2.3、语法格式3:

1.2.4、语法格式4:

1.2.5、语法格式5:

1.2.6、语法格式6:

1.3、函数接口

2、Java内置的四大核心函数式接口

2.1、消费型接口:

2.2、供给型接口:

2.3、函数型接口

2.4、断言型接口

3、方法引用

3.1、语法格式一:对象::实例方法名

3.2、语法格式二:类::静态方法

3.3、语法格式三:类::实例方法

4、构造器引用

5、Stream API

5.1、基础概念

5.2、Stream的操作三步骤

5.2.1、创建Stream:

5.2.2、中间操作:

5.2.3、终止操作:

5.2.3.1、查询与匹配

5.2.3.2、规约与收集

5.3、流式操作练习

现有以下数据

6、并行流

6.1、Fork/Join 框架:

6.1.1、基础概念:

6.1.2、工作窃取模式:

6.1.3、优势

6.1.4、自己实现Fork/Join 框架

7、Optional容器类

7.1、Optional.of(T t) :

7.2、Optional.empty():

7.3、Optional.ofNullable(T t):

7.4、isPresent():

7.5、orElse(T t):

7.6、orElseGet(Supplier s):

7.7、map(Function f):

7.8、flatMap(Function mapper):

8、接口中的默认方法与静态方法

9、全新的时间、日期API

9.1、 LocalDate、LocalTime、LocalDateTime

9.2、时间戳:Instant

9.3、间隔:Duration、Period

9.4、时间校正器

9.5、时间格式化

9.6、时区

lambda表达式是JAVA8中提供的一种新的特性,它支持JAVA也能进行简单的“函数式编程”。它是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。

函数式接口:

这个是理解Lambda表达式的重点,也是产生lambda表达式的“母体”,这里我们引用一个比较容易理解的说法:函数式接口是 一个只有一个抽象方法(不包含object中的方法)的接口。

这个需要说明一点,就是在Java中任何一个对象都来自Object 所有接口中自然会继承自Object中的方法,但在判断是否是函数式接口的时候要排除Object中的方法。