À propos de l'interface fonctionnelle Java

Qu'est-ce qu'une interface fonctionnelle?

Une interface qui n'a qu'une seule méthode abstraite, qui peut être utilisée comme destination d'affectation pour transmettre des expressions lambda et des références de méthode.

Conditions d'interface fonctionnelle

** ・ Vous ne pouvez avoir qu'une seule méthode abstraite -Les méthodes abstraites qui sont des méthodes publiques de la classe Object ne sont pas incluses -Vous pouvez avoir plusieurs méthodes par défaut et méthodes statiques **

La définition de l'interface fonctionnelle s'écrit comme suit.

main.java



@FunctionalInterface
public interface Sample {
    public abstract void Hello(String name);
}

En annotant ** @ FunctionalInterface **, vous pouvez clairement indiquer qu'il s'agit d'une interface fonctionnelle, et cela provoquera une erreur de compilation si l'interface ne remplit pas les conditions d'une interface fonctionnelle.

type

Le package java.util.function fournit plusieurs types d'interfaces fonctionnelles. Il peut être grossièrement divisé en quatre types selon le modèle de l'argument reçu et le résultat renvoyé. L'interface fonctionnelle de base est la suivante.

type Méthode abstraite Ce que tu peux faire
Supplier T get() Renvoie une valeur de retour de type T sans arguments
Consumer void accept(T t) Renvoie le traitement (aucune valeur n'est renvoyée).
Function<T, R> R apply(T t) Prend T comme argument et renvoie R comme résultat
Predicate boolean test(T t) Prend un argument de type T et renvoie la valeur de booléen en conséquence

Il existe d'autres types tels qu'une interface lorsqu'il y a deux arguments, alors utilisez-les correctement en fonction de l'objectif.

Recommended Posts

À propos de l'interface fonctionnelle Java
À propos de l'interface Java
Interface [Java]
[Java] Interface fonctionnelle
À propos de l'interface, interface java
interface de type de fonction standard java
[Java] Interface fonctionnelle / expression lambda
java (interface)
interface [java]
[Java débutant] À propos de l'abstraction et de l'interface
[Java] À propos des fonctionnalités de Java 12
[Java] À propos des tableaux
Introduction de l'interface fonctionnelle
Quelque chose à propos de java
Où est Java
À propos des fonctionnalités Java
À propos des threads Java
À propos de la classe Java
À propos des tableaux Java
À propos de l'héritage Java
À propos de Java Var
À propos de Java Literal
À propos des commandes Java
Java, à propos d'un tableau à deux dimensions
À propos de la division de classe (Java)
Commentaire: à propos de l'interface
À propos de [Java] [StreamAPI] allMatch ()
À propos de la classe Java StringBuilder
Interface appelable en Java
Une note de revue sur l'interface fonctionnelle
[Java] À propos de la classe Singleton
À propos de la liaison de méthode Java
[Java] À propos des classes anonymes
A propos des méthodes de fractionnement (Java)
[Java Silver] À propos de l'initialisation
Interface d'historique d'apprentissage JAVA
A propos de la liste des baies Java
À propos du polymorphisme Java Super ()
À propos de l'héritage (Java Silver)
À propos de la classe Java String
À propos des modificateurs d'accès Java
À propos des expressions Java lambda
À propos des points d'entrée Java
Prise en charge de Java 10 Docker
Résumé personnel sur Java
Mémo d'apprentissage Java (interface)
Tout sur la programmation Java
À propos de la classe abstraite de Java
Remarques sur Java GC
Résumé d'héritage avancé, interface -java
Ce que j'ai recherché sur Java 8
À propos des instances Java
Héritage de l'interface de l'historique d'apprentissage JAVA
Ce que j'ai recherché sur Java 6
[Gradle] À propos des tâches du plug-in Java
Essayez le type fonctionnel en Java! ①
À propos des instructions de déclaration de variable Java
Ce que j'ai recherché sur Java 9
[Java] À propos de la gestion des exceptions try-catch