Lorsque nous utilisons des expressions lambda, l'opération la plus courante est la correspondance. Cependant, il existe de nombreuses méthodes dans l'interface et certains amis seront confus lors de la correspondance. Ce que nous pouvons préciser, c'est que lambda peut faire correspondre les interfaces, donc les instructions de correspondance spécifiques seront expliquées ci-dessous, ainsi que des exemples de code pertinents.
1. Description
(1) Chaque lambda peut correspondre à un type donné via une interface spécifique. Une interface dite fonctionnelle doit avoir une et une seule déclaration de méthode abstraite. Chaque expression lambda qui lui correspond doit correspondre à la déclaration de la méthode abstraite. Puisque les méthodes par défaut ne sont pas abstraites, n'hésitez pas à ajouter des méthodes par défaut à votre interface fonctionnelle.
(2) Toute interface contenant une seule méthode abstraite peut être utilisée pour les expressions lambda. Pour que l'interface définie réponde aux exigences, l'interface doit être marquée avec @FunctionalInterface. Si une deuxième méthode abstraite est définie dans l'interface, le compilateur remarquera cette annotation et lèvera une exception.
2. Exemple
@InterfaceFonctionnelle interface Convertisseur<F, T> { T convertir(F de); } Converter<String, Integer> converter = (from) -> Integer.valueOf(from); Entier converti = converter.convert("123"); System.out.println(converti); // 123
Notez que le programme est également correct si l'annotation @FunctionalInterface n'est pas écrite.
Ce qui précède est la méthode de correspondance des expressions Lambda dans les interfaces Java. Je pense que tout le monde a une nouvelle compréhension de l'utilisation des expressions Lambda dans cet article. Veuillez la pratiquer dès que possible après l'avoir appris.