函数式接口

1、定义

函数式接口就是只定义一个抽象方法的接口。接口现在还可以拥有默认方法(即在类没有对方法进行实现时,其主体为方法提供默认实现的方法)。哪怕有很多默认方法,只要接口只定义了一个抽象方法,它就仍然是一个函数式接口 。

示例

2、作用

Lambda表达式允许你直接以内联的形式对函数式接口的抽象方法提供实现,并把整个表达式作为函数式接口的实例。函数式接口也可以用匿名内部类进行实现,Lambda表达式只是一种简便的实现方式。

函数式接口的使用

3、函数描述符

函数式接口的抽象方法的签名基本上就是Lambda表达式的签名。我们将这种抽象方法叫作函数描述符。

常用函数式接口

Predicate<T>: 提供一个test方法,它接受泛型T对象,并返回一个布尔类型,
Consumer<T>: 提供一个accept的抽象方法,它接受泛型T的对象,没有返回(void)
Function<T, R>: 提供一个apply的方法,它接受一个泛型T的对象,并返回一个泛型R的对象,可以定义一个
        Lambda,将输入对象的信息映射到输出,就可以使用这个接口(比如提取苹果的重量,或把字符串
        映射为它的长度)

函数式接口使用案例
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容