39、常用函数式接口
1、概述
有且只有一个抽象方法的接口
可以避免性能浪费
一般作为方法的参数和返回值使用
lambda表达式有延迟加载的特性
例如使用lambda表达式作为参数传递,只有满足条件才会调用方法,如果条件不满足,接口中的方法不会执行
2、Consumer接口
该接口是一个消费性接口,泛型指定什么类型就可以使用接口内的accept方法使用什么类型的数据
2.1、andThen方法
作用:需要两个Consumer接口,可以把两个Consumer接口组合到一起
连接两个Consumer接口,谁在前面谁先消费
3、Function接口
根据一个类型的数据得到另一个类型的数据
有两个泛型,主要使用接口中的apply方法
例如传递一个字符串类型的整数,泛型用String和Integer,可以将那个整数转为Integer类型
3.1、andThen方法
同样为组合,可以执行两次转换
4、Predicate接口
用于对某种数据类型进行判断,得到一个布尔值结果
使用test方法
例如判断字符串的长度
4.1、运算符
与运算符,连接多个Predicate
或运算符,or
取反 negate
5、Supplier接口
常用的函数式接口,被称之为生产器接口