Middle
Mit tud a Java 8 és újabb verziók funkcionális felületeiről?
sobes.tech MI
Válasz az MI-től
A funkcionális interfész olyan interfész, amely csak egy absztrakt metódust tartalmaz. Ezek lambda kifejezések és metódusreferenciák megvalósítására szolgálnak. Lehetnek alapértelmezett és statikus metódusai.
A java.util.function csomagban található beépített funkcionális interfészek példái:
Predicate<T>: Fogad egyTtípusú argumentumot, és boolean értéket ad vissza.// public boolean test(T t);Consumer<T>: Fogad egyTtípusú argumentumot, és nem ad vissza semmit. Műveletet hajt végre az argumentumon.// public void accept(T t);Supplier<T>: Nem fogad argumentumot, ésTtípusú értéket ad vissza.// public T get();Function<T, R>: Fogad egyTtípusú argumentumot, ésRtípusú értéket ad vissza.// public R apply(T t);
Az @FunctionalInterface annotáció opcionális, de ajánlott a fordító általi ellenőrzés és világosság érdekében.
@FunctionalInterface
interface MyFunction {
String process(String input);
default void doNothing() {
// Alapértelmezett metódus
}
}