Sobes.tech
Middle
149

Was wissen Sie über funktionale Schnittstellen in Java 8 und höher?

Antwort von AI

sobes.tech KI

Eine funktionale Schnittstelle ist eine Schnittstelle, die nur eine abstrakte Methode enthält. Sie werden verwendet, um Lambda-Ausdrücke und Methodenreferenzen zu implementieren. Sie können Standard- und statische Methoden haben.

Beispiele für integrierte funktionale Schnittstellen im Paket java.util.function:

  • Predicate<T>: Nimmt ein Argument vom Typ T und gibt einen booleschen Wert zurück.
    // public boolean test(T t);
    
  • Consumer<T>: Nimmt ein Argument vom Typ T und gibt nichts zurück. Führt eine Aktion am Argument aus.
    // public void accept(T t);
    
  • Supplier<T>: Nimmt keine Argumente und gibt einen Wert vom Typ T zurück.
    // public T get();
    
  • Function<T, R>: Nimmt ein Argument vom Typ T und gibt einen Wert vom Typ R zurück.
    // public R apply(T t);
    

Die Annotation @FunctionalInterface ist optional, wird aber für die Überprüfung durch den Compiler und für Klarheit empfohlen.

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