1. 概念及分类
函数式接口(Functional Interface
)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口
并且这类接口使用了@FunctionalInterface
进行注解。在jdk8中,引入了一个新的包java.util.function
, 可以使java 8 的函数式编程变得更加简便。这个package中的接口大致分为了以下七类:
函数接口类型 | 描述 | 示例 |
---|---|---|
Consumer | 消费型接口,接受一个参数,无返回值 | Consumer c = s -> System.out.println(s); |
Supplier | 生产型接口,无参数,有返回值 | Supplier s = () -> (int)(Math.random()*100); |
Function | 函数型接口,接受一个参数,有返回值 | Function<String,Integer> f = s -> Integer.parseInt(s); |
Predicate | 断言型接口,接受一个参数,返回布尔值 |