Sobes.tech
Middle

Wat weet u over functionele interfaces in Java 8 en hoger?

sobes.tech AI

Antwoord van AI

Een functionele interface is een interface die slechts één abstracte methode bevat. Ze worden gebruikt voor het implementeren van lambda-uitdrukkingen en methodereferenties. Ze kunnen standaard- en statische methoden hebben.

Voorbeelden van ingebouwde functionele interfaces in de package java.util.function:

  • Predicate<T>: Neemt een argument van type T en retourneert een boolean waarde.
    // public boolean test(T t);
    
  • Consumer<T>: Neemt een argument van type T en retourneert niets. Voert een actie uit op het argument.
    // public void accept(T t);
    
  • Supplier<T>: Neemt geen argumenten en retourneert een waarde van type T.
    // public T get();
    
  • Function<T, R>: Neemt een argument van type T en retourneert een waarde van type R.
    // public R apply(T t);
    

De annotatie @FunctionalInterface is optioneel, maar wordt aanbevolen voor controle door de compiler en voor duidelijkheid.

@FunctionalInterface
interface MyFunction {
    String process(String input);
    
    default void doNothing() {
        // Standaardmethode
    }
}