Cuando usamos expresiones lambda, la operación más común es la coincidencia. Sin embargo, hay muchos métodos en la interfaz y algunos amigos se confundirán al emparejar. Lo que podemos dejar claro es que lambda puede coincidir con interfaces, por lo que las instrucciones de coincidencia específicas se explicarán a continuación, junto con el código de ejemplo relevante.
1. Descripción
(1) Cada lambda puede coincidir con un tipo determinado a través de una interfaz específica. Una denominada interfaz funcional debe tener una y sólo una declaración de método abstracto. Cada expresión lambda correspondiente debe coincidir con la declaración del método abstracto. Dado que los métodos predeterminados no son abstractos, siéntase libre de agregar métodos predeterminados a su interfaz funcional.
(2) Cualquier interfaz que contenga solo un método abstracto se puede utilizar para expresiones lambda. Para que la interfaz definida cumpla con los requisitos, la interfaz debe marcarse con @FunctionalInterface. Si se define un segundo método abstracto en la interfaz, el compilador notará esta anotación y generará una excepción.
2. Ejemplo
@Interfaz funcional convertidor de interfaz<F, T> { T convertir(F de); } Convertidor<Cadena, Entero> convertidor = (de) -> Integer.valueOf(de); Entero convertido = convertidor.convert("123"); System.out.println(convertido); // 123
Tenga en cuenta que el programa también es correcto si la anotación @FunctionalInterface no está escrita.
Lo anterior es el método para hacer coincidir expresiones Lambda en interfaces Java. Creo que todos tienen una nueva comprensión del uso de expresiones Lambda en este artículo. Practíquelo lo antes posible después de aprenderlo.