Quando usamos expressões lambda, a operação mais comum é a correspondência. No entanto, existem muitos métodos na interface e alguns amigos ficarão confusos ao combinar. O que podemos deixar claro é que lambda pode corresponder a interfaces, portanto, as instruções específicas de correspondência serão explicadas abaixo, junto com o código de exemplo relevante.
1. Descrição
(1) Cada lambda pode corresponder a um determinado tipo por meio de uma interface específica. Uma chamada interface funcional deve ter uma e apenas uma declaração de método abstrato. Cada expressão lambda correspondente deve corresponder à declaração do método abstrato. Como os métodos padrão não são abstratos, sinta-se à vontade para adicionar métodos padrão à sua interface funcional.
(2) Qualquer interface contendo apenas um método abstrato pode ser usada para expressões lambda. Para que a interface definida atenda aos requisitos, a interface deve ser marcada com @FunctionalInterface. Se um segundo método abstrato for definido na interface, o compilador notará esta anotação e lançará uma exceção.
2. Exemplo
@FunctionalInterface Conversor de interface<F, T> { T converter(F de); } Converter<String, Inteiro> conversor = (de) -> Integer.valueOf(de); Inteiro convertido = converter.convert("123"); System.out.println(convertido); // 123
Observe que o programa também está correto se a anotação @FunctionalInterface não for escrita.
O acima é o método de correspondência de expressões Lambda em interfaces Java. Acredito que todos tenham uma nova compreensão do uso de expressões Lambda neste artigo. Pratique-o o mais rápido possível depois de aprendê-lo.