# 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 (opens new window).

# List of standard Java Runtime Library functional interfaces by signature

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