Java开发笔记八:函数式接口(2)
函数式接口有很多种,甚至可以自己定义,今天了解常见的函数式接口有哪些。
java.util.function.Supplier<T>接口仅包含一个无参的方法。用来获取一个泛型参数指定类型的对象数据。由于这是一个函数式接口,这也就意味着对应的Lambda表达式需要“对外提供”一个符合泛型类型的对象数据
说白了控制数据类型
java.util.function.Consumer<T>接口则正好与Supplier接口相反,它不是生产一个数据,而是消费一个数据
说白了,就是可以使用一个方法,比如输出一条字符
注意,想使用这个接口,需要调用accept方法
Predicate接口
有时候我们需要对某种类型的数据进行判断,从而得到一个boolean值结果。这时可以使用Predicate接口。
这个接口有几个抽象方法
test用于条件判断场景
and连接多个语句
or逻辑中或的意思
negate非的意思
说白了就是,你想写一个语句他可以直接给你判断并返回判断的结果。
练习
这个接口可以直接转换数据类型
常用方法有
apply转换类型要使用这个方法
andThen组合多个语句
练习,3重语句联合,切割字符并转换
注意一定要了解上面几个接口的使用原理,之后的Stream流会进一步的实现函数式编程的流程,真正做到能够修饰数据。但是每一步使用的原理就是这几个接口的底层代码。