Java函数式接口是仅含一个抽象方法的接口,用于支持Lambda表达式和方法引用;JDK 8起在java.util.function包中提供Function、Consumer、Supplier、Predicate等核心接口及其基本类型特化版、Bi-前缀双参数版、UnaryOperator、BinaryOperator等。

Java 的函数式接口(Functional Interface)是指**只包含一个抽象方法**的接口,主要用于支持 Lambda 表达式和方法引用。JDK 8 起在 java.util.function 包中提供了大量内置的函数式接口,覆盖常见场景。以下是核心且最常用的几类:
基础函数型接口
用于接收参数并返回结果,是最常用的一类:
-
Function
:接收一个 T 类型参数,返回 R 类型结果(如 t -> t.toString()) -
Consumer
:接收一个 T 类型参数,不返回结果(常用于“消费”操作,如 System.out::println) -
Supplier
:不接收参数,返回一个 T 类型结果(如 () -> new ArrayList()) -
Predicate
:接收一个 T 类型参数,返回 boolean(用于条件判断,如 s -> s.length() > 0)
带基本类型特化的接口(避免装箱)
为 int、long、double 等基本类型提供专用接口,提升性能,避免自动装箱开销:
-
IntFunction
、LongFunction 、DoubleFunction - IntConsumer、LongConsumer、DoubleConsumer
- IntSupplier、LongSupplier、DoubleSupplier
- IntPredicate、LongPredicate、DoublePredicate
双参数函数接口
用于需要两个输入参数的场景:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~