Middle
145
Cosa sa delle interfacce funzionali in Java 8 e versioni successive?
Risposta dell'AI
sobes.tech AI
L'interfaccia funzionale è un'interfaccia che contiene solo un metodo astratto. Sono utilizzate per implementare espressioni lambda e riferimenti a metodi. Possono avere metodi default e statici.
Esempi di interfacce funzionali integrate nel pacchetto java.util.function:
Predicate<T>: Accetta un argomento di tipoTe restituisce un valore booleano.// public boolean test(T t);Consumer<T>: Accetta un argomento di tipoTe non restituisce nulla. Esegue un'azione sull'argomento.// public void accept(T t);Supplier<T>: Non accetta argomenti e restituisce un valore di tipoT.// public T get();Function<T, R>: Accetta un argomento di tipoTe restituisce un valore di tipoR.// public R apply(T t);
L'annotazione @FunctionalInterface è opzionale, ma consigliata per la verifica da parte del compilatore e per chiarezza.
@FunctionalInterface
interface MyFunction {
String process(String input);
default void doNothing() {
// Metodo di default
}
}