相关源码地址:https://github.com/liudongdong0909/java8/tree/master/java8-Lambda/src/com/donggua
一、什么是函数式接口
- 只包含一个抽象方法的接口, 称为函数式接口。
- 可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda 表达式抛出一个受检异常, 那么该异常需要在目标接口的抽象方法上进行声明)
- 可以再任意函数式接口上使用 @FunctionalInterface 注解, 这样可以检查他是否是一个函数式接口, 同时 javadoc 也会包含一条声明, 说明这个接口是一个函数式接口。
二、自定义函数式接口
函数式接口中使用泛型
三、作为参数传递Lambda表达式
为了将 Lambda 表达式作为参数传递, 接收 lambda 表达式的参数类型必须是与该 Lambda 表达式兼容的函数式接口的类型