Middle
Čo viete o funkčných rozhraniach v Jave 8 a novších verziách?
sobes.tech AI
Odpoveď od AI
Funkčné rozhranie je rozhranie, ktoré obsahuje iba jednu abstraktnú metódu. Používa sa na implementáciu lambda výrazov a odkazov na metódy. Môžu mať predvolené a statické metódy.
Príklady zabudovaných funkčných rozhraní v balíku java.util.function:
Predicate<T>: Prijíma argument typuTa vracia hodnotu boolean.// public boolean test(T t);Consumer<T>: Prijíma argument typuTa nevracia nič. Vykonáva akciu nad argumentom.// public void accept(T t);Supplier<T>: Neprijíma argumenty a vracia hodnotu typuT.// public T get();Function<T, R>: Prijíma argument typuTa vracia hodnotu typuR.// public R apply(T t);
Anotácia @FunctionalInterface je voliteľná, ale odporúča sa na kontrolu zo strany kompilátora a pre jasnosť.
@FunctionalInterface
interface MyFunction {
String process(String input);
default void doNothing() {
// Predvolená metóda
}
}