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 créer des 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
@FunctionalInterface interface Converter<F, T> { T convert(F from); } Converter<String, Integer> converter = (from) -> Integer.valueOf(from); Integer converted = converter.convert("123"); System.out.println(converted); // 123
Notez que si vous n'écrivez pas l'annotation @FunctionalInterface, le programme est également correct.
1 En tant que représentant du langage de programmation orienté objet statique, le langage Java implémente la théorie orientée objet et permet aux programmeurs d'effectuer des tâches complexes dans une façon élégante de penser la programmation.
2. Java présente les caractéristiques de simplicité, d'orientation objet, de distribution, de sécurité, d'indépendance et de portabilité de la plateforme et de nature dynamique.
3. Utilisez Java pour écrire des applications de bureau, des applications Web, des systèmes distribués et des applications de systèmes embarqués, etc.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!