Java开发『函数式编程』——函数式接口
2023-09-14 09:11:08 时间
提到函数式编程我们首先需要了解的就是函数式接口,我们之前讲解的Lambda 表达式的主要服务对象就是函数式接口了。
所以这章我们就来认识下函数式接口:
- 函数式接口的定义
在java中函数式接口(Functional Interface)指的是只能有一个抽象方法但是可以有多个非抽象方法的接口。
函数式接口上一般会有@FunctionalInterface 修饰,但是不是必须的。
@FunctionalInterface 主要是为了更好的让编译器检查当前接口是否是函数式接口。
例如:线程的Runnable接口就是一个函数式接口。
如下图所示:
函数式接口可以很友好的使用Lambda进行实例化。
- JDK8提供的函数式接口
JDK8之前Java中就提供了一些函数式接口,例如我们上面看到的Runnable接口,初次之外还有:
线程实现—Callable接口
比较器—Comparator
动态代理—InvocationHandler
文件过滤—FileFilter
…
JDK8新增了很多的函数式接口,都放到了java.util.function包下,其中最常用的接口为:
Function
该接口表示接收一个类型T,返回一个结果类型R。
Consumer
该接口表示消费一个类型T进行处理,并且无结果返回。
使用如下:
Supplier
该接口表示不传入类型,只对外供给一个T类型的实例对象。
使用如下:
Predicat
该接口表示对一个类型T进行判断,最终返回一个boolean结果。
使用如下:
相关文章
- Java NIO系列教程(五) 通道之间的数据传输
- Java面向对象高级--接口的基本概念--------interface、implements
- java:序列化Serializable 接口
- Java实现 LeetCode 720 词典中最长的单词(字典树)
- Java实现 蓝桥杯 历届试题 国王的烦恼
- Java接口和抽象类区别
- java 11 Java Flight Recorder
- 【JAVA】 01-Java基础知识
- [Java Spring data] Paging and sorting
- JAVA接口示例
- Java面向对象编程篇3——接口与抽象类
- Java知识回顾 (2) Java 修饰符
- ABAP和Java里关于DEFAULT(默认)机制的一些语言特性
- Java之接口的静态方法的定义和使用
- Java学习路线-6:接口
- java编程接口(1) ------ Swing基金会
- 【JAVA】【NIO】5、Java NIO Scatter / Gather
- Java获取某年某月的第一天
- Eclipse Maven 编译错误 Dynamic Web Module 3.1 requires Java 1.7 or newer 解决方案
- JAVA反射机制
- java - 详解 Java 17 中新推出的密封类
- 【java】Java并发编程系列-基础知识(非常详细哦)
- JAVA开发讲义(二)-Java程序设计之数据之谜三
- Java开发『函数式编程』——函数式接口