软软猿妹问我JDK中眼花缭乱的Function/Consumer/Supplier/Predicate?(下)

简介: 哈喽,大家好,我是指北君。JDK中有许多函数式接口,也会有许多方法会使用函数式接口作为参数,同时在各种源码中也大量使用了这些方法,那么我们在实际工作中应该如何使用!我们就来盘一盘,这样也有助于写出优雅的代码,使我们在阅读源码时事半功倍。

Supplier 示例如下:91.png92.png


1.5 Predicate

主要方法为test,其主要是传入一个参数,返回一个boolean类型的值。


93.png


Predicate简单示例:

94.png


上述代码运行结果

95.png


2 常用的Lamada参数特征

Lamada 的一些表达式将方法的一些执行逻辑放到了参数中,使得方法的返回值根据传入的参数的逻辑而变化。从而实现了在一定的方法不变的情况下,使代码执行传入参数相关的逻辑。

常用的一些Lamada使用如下:

Runnable 无入参,无返回值

96.png

Function 有入参,有返回值

97.png


Consumer有入参,无返回值。

98.png

Supplier 无入参,有返回值。

99.png

Predicate 有入参,返回一个boolean类型的值

100.png


3 自定义Lamada函数式接口

结合之前的常用Lamada函数的介绍,下面我们自定义一个简单的函数式接口。

101.png

其实很简单,就是展示了一下自定义函数式接口的应用实例而已。

总结

函数式接口的使用可以简化我们的代码,很大程度上提高代码的可读性。在程序执行上可能性能稍微有所降低,但对开发带来的便捷与好处是大于其性能上的微弱损失的。除了介绍的几种常见的函数式编程以外,还有许多其他的函数式接口等着我们去利用。听完这些话之后,软软猿妹也对常用的函数式接口有所了解,接下来下定决心要好好学一学函数式接口了。

面试大全包括:包括 Java 集合、JVM、多线程、并发编程、设计模式、SpringBoot、SpringCloud、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat、Python、HTML、CSS、Vue、React、JavaScript、Android 大数据、阿里巴巴等大厂面试题等、等技术栈!



我是指北君,操千曲而后晓声,观千剑而后识器。感谢各位人才的:点赞、收藏和评论,我们下期更精彩!

相关文章
|
6月前
|
API
JDK8函数式接口之Supplier
JDK8函数式接口之Supplier
99 0
|
6月前
|
Java API 容器
Java8函数式编程接口:Consumer、Supplier、Function、Predicate
Java8函数式编程接口:Consumer、Supplier、Function、Predicate
105 1
|
6月前
|
API
JDK8函数式接口之Consumer
JDK8函数式接口之Consumer
159 0
Java8中的函数式接口详解(Supplier、Consumer、Predicate、Function)
Java8中的函数式接口详解(Supplier、Consumer、Predicate、Function)
907 1
|
Java
1.3 Lambda表达式的基础:常用的函数式接口:Predicate、Consumer、Function等
1.3 Lambda表达式的基础:常用的函数式接口:Predicate、Consumer、Function等
72 0
常用函数式接口:Consumer、Predicate、Function的方法说明解练习
常用函数式接口:Consumer、Predicate、Function的方法说明解练习
92 0
|
Java 程序员 Go
Java 8 - 03 Lambda 函数式接口Predicate & Consumer & Function & Supplier
Java 8 - 03 Lambda 函数式接口Predicate & Consumer & Function & Supplier
112 0
|
Java
【JDK8之旅】——Supplier
【JDK8之旅】——Supplier
101 0
|
Oracle Java 关系型数据库
【Java8新特性】04 详解Lambda表达式中Predicate Function Consumer Supplier函数式接口
【Java8新特性】04 详解Lambda表达式中Predicate Function Consumer Supplier函数式接口
|
2月前
|
Java
安装JDK18没有JRE环境的解决办法
安装JDK18没有JRE环境的解决办法
315 3