Middle
Que savez-vous des interfaces fonctionnelles dans Java 8 et versions ultérieures?
sobes.tech IA
Réponse de l'IA
Une interface fonctionnelle est une interface ne contenant qu'une seule méthode abstraite. Elles sont utilisées pour implémenter des expressions lambda et des références de méthode. Elles peuvent avoir des méthodes default et static.
Exemples d'interfaces fonctionnelles intégrées dans le package java.util.function :
Predicate<T>: Prend un argument de typeTet retourne une valeur booléenne.// public boolean test(T t);Consumer<T>: Prend un argument de typeTet ne retourne rien. Effectue une action sur l'argument.// public void accept(T t);Supplier<T>: Ne prend pas d'arguments et retourne une valeur de typeT.// public T get();Function<T, R>: Prend un argument de typeTet retourne une valeur de typeR.// public R apply(T t);
L'annotation @FunctionalInterface est optionnelle, mais recommandée pour la vérification par le compilateur et pour plus de clarté.
@FunctionalInterface
interface MyFunction {
String process(String input);
default void doNothing() {
// Méthode par défaut
}
}