Anotacion FuncionalInterface - Tensho97/Aprende-a-Aprender GitHub Wiki

La anotación @FunctionalInterface se utiliza para garantizar que la interfaz funcional no puede tener más de un método abstracto. En caso de que haya más de un método abstracto presente, el compilador nos presentará el siguiente mensaje de error: Unexpected @FunctionalInterface annotation.

No es obligatorio utilizar esta anotación, pero sí es muy recomendable.

En el siguiente ejemplo vemos un programa que utiliza una interfaz funcional definida por el usuario.


@FunctionalInterface
interface Square { 
    int calculate(int x); 
} 
  
class Test { 
    public static void main(String args[]) { 
        int a = 5; 
        Square s = (int x)->x*x; 
        int ans = s.calculate(a); 
        System.out.println(ans); 
    } 
} 

Salida: 25


Como podemos observar, utilizamos la expresión lambda para definir el método de cálculo. El parámetro pasado a la expresión y el tipo de dato de retorno deben ser iguales a los definidos en la interfaz.



Autora: Andrea