Skip to content

Functional Interfaces

In Java 8+, a functional interface is an interface that has just one abstract method (aside from the methods of Object). See JLS §9.8. Functional Interfaces.

List of standard Java Runtime Library functional interfaces by signature

Section titled “List of standard Java Runtime Library functional interfaces by signature”

|Parameter Types|Return Type|Interface |---|---|---|---|---|---|---|---|---|--- |()|void|Runnable |()|T|Supplier |()|boolean|BooleanSupplier |()|int|IntSupplier |()|long|LongSupplier |()|double|DoubleSupplier |(T)|void|Consumer |(T)|T|UnaryOperator |(T)|R|Function<T,R> |(T)|boolean|Predicate |(T)|int|ToIntFunction |(T)|long|ToLongFunction |(T)|double|ToDoubleFunction |(T, T)|T|BinaryOperator |(T, U)|void|BiConsumer<T,U> |(T, U)|R|BiFunction<T,U,R> |(T, U)|boolean|BiPredicate<T,U> |(T, U)|int|ToIntBiFunction<T,U> |(T, U)|long|ToLongBiFunction<T,U> |(T, U)|double|ToDoubleBiFunction<T,U> |(T, int)|void|ObjIntConsumer |(T, long)|void|ObjLongConsumer |(T, double)|void|ObjDoubleConsumer |(int)|void|IntConsumer |(int)|R|IntFunction |(int)|boolean|IntPredicate |(int)|int|IntUnaryOperator |(int)|long|IntToLongFunction |(int)|double|IntToDoubleFunction |(int, int)|int|IntBinaryOperator |(long)|void|LongConsumer |(long)|R|LongFunction |(long)|boolean|LongPredicate |(long)|int|LongToIntFunction |(long)|long|LongUnaryOperator |(long)|double|LongToDoubleFunction |(long, long)|long|LongBinaryOperator |(double)|void|DoubleConsumer |(double)|R|DoubleFunction |(double)|boolean|DoublePredicate |(double)|int|DoubleToIntFunction |(double)|long|DoubleToLongFunction |(double)|double|DoubleUnaryOperator |(double, double)|double|DoubleBinaryOperator