Sobes.tech
Middle
147

¿Qué sabe sobre las interfaces funcionales en Java 8 y versiones superiores?

Respuesta de la IA

sobes.tech AI

La interfaz funcional es una interfaz que contiene solo un método abstracto. Se utilizan para implementar expresiones lambda y referencias a métodos. Pueden tener métodos default y static.

Ejemplos de interfaces funcionales integradas en el paquete java.util.function:

  • Predicate<T>: Toma un argumento de tipo T y devuelve un valor booleano.
    // public boolean test(T t);
    
  • Consumer<T>: Toma un argumento de tipo T y no devuelve nada. Realiza una acción sobre el argumento.
    // public void accept(T t);
    
  • Supplier<T>: No toma argumentos y devuelve un valor de tipo T.
    // public T get();
    
  • Function<T, R>: Toma un argumento de tipo T y devuelve un valor de tipo R.
    // public R apply(T t);
    

La anotación @FunctionalInterface es opcional, pero se recomienda para la verificación por parte del compilador y para mayor claridad.

@FunctionalInterface
interface MyFunction {
    String process(String input);
    
    default void doNothing() {
        // Método por defecto
    }
}