vlambda博客
学习文章列表

Java开发笔记八:函数式接口(2)




Java开发笔记八:函数式接口(2)




函数式接口有很多种,甚至可以自己定义,今天了解常见的函数式接口有哪些。




Supplier接口


java.util.function.Supplier<T>接口仅包含一个无参的方法。用来获取一个泛型参数指定类型的对象数据。由于这是一个函数式接口,这也就意味着对应的Lambda表达式需要“对外提供”一个符合泛型类型的对象数据

说白了控制数据类型







Consumer接口


java.util.function.Consumer<T>接口则正好与Supplier接口相反,它不是生产一个数据,而是消费一个数据

说白了,就是可以使用一个方法,比如输出一条字符

注意,想使用这个接口,需要调用accept方法

Java开发笔记八:函数式接口(2)





     

Predicate接口



有时候我们需要对某种类型的数据进行判断,从而得到一个boolean值结果。这时可以使用Predicate接口。

这个接口有几个抽象方法

test用于条件判断场景

and连接多个语句

or逻辑中或的意思

negate非的意思


说白了就是,你想写一个语句他可以直接给你判断并返回判断的结果。

练习




     

Function接口


这个接口可以直接转换数据类型

常用方法有

apply转换类型要使用这个方法

andThen组合多个语句

练习,3重语句联合,切割字符并转换




      注意一定要了解上面几个接口的使用原理,之后的Stream流会进一步的实现函数式编程的流程,真正做到能够修饰数据。但是每一步使用的原理就是这几个接口的底层代码。