Introducción
En Java 8+, una interfaz funcional es una interfaz que tiene solo un método abstracto (aparte de los métodos de Object). Ver JLS §9.8. Interfaces funcionales .
Lista de interfaces funcionales estándar de Java Runtime Library por firma
| Tipos de parámetros | Tipo de retorno | Interfaz |
|---|
| () | vacío | Ejecutable |
| () | T | Proveedor |
| () | booleano | BooleanSupplier |
| () | En t | IntSupplier |
| () | largo | LongSupplier |
| () | doble | DoubleSupplier |
| (T) | vacío | Consumidor <T> |
| (T) | T | UnaryOperator <T> |
| (T) | R | Función <T, R> |
| (T) | booleano | Predicado <T> |
| (T) | En t | ToIntFunction <T> |
| (T) | largo | ToLongFunction <T> |
| (T) | doble | ToDoubleFunction <T> |
| (T, T) | T | Operador Binario <T> |
| (T, U) | vacío | BiConsumer <T, U> |
| (T, U) | R | BiFunction <T, U, R> |
| (T, U) | booleano | BiPredicate <T, U> |
| (T, U) | En t | ToIntBiFunction <T, U> |
| (T, U) | largo | ToLongBiFunction <T, U> |
| (T, U) | doble | ToDoubleBiFunction <T, U> |
| (T, int) | vacío | ObjIntConsumer <T> |
| (T, largo) | vacío | ObjLongConsumer <T> |
| (T, doble) | vacío | ObjDoubleConsumer <T> |
| (En t) | vacío | Consumidor |
| (En t) | R | IntFunction <R> |
| (En t) | booleano | IntPredicate |
| (En t) | En t | IntUnaryOperator |
| (En t) | largo | IntToLongFunction |
| (En t) | doble | IntToDoubleFunction |
| (int, int) | En t | IntBinaryOperator |
| (largo) | vacío | LongConsumer |
| (largo) | R | Función larga <R> |
| (largo) | booleano | LongPredicate |
| (largo) | En t | LongToIntFunction |
| (largo) | largo | LongUnaryOperator |
| (largo) | doble | LongToDoubleFunction |
| (largo largo) | largo | LongBinaryOperator |
| (doble) | vacío | DoubleConsumer |
| (doble) | R | DoubleFunction <R> |
| (doble) | booleano | DoublePredicate |
| (doble) | En t | DoubleToIntFunction |
| (doble) | largo | DoubleToLongFunction |
| (doble) | doble | DoubleUnaryOperator |
| (doble doble) | doble | DoubleBinaryOperator |