Middle
151
Co wiesz o interfejsach funkcyjnych w Java 8 i nowszych?
Odpowiedź od AI
sobes.tech AI
Interfejs funkcyjny to interfejs zawierający tylko jedną metodę abstrakcyjną. Są używane do implementacji wyrażeń lambda i odwołań do metod. Mogą mieć metody domyślne i statyczne.
Przykłady wbudowanych interfejsów funkcyjnych w pakiecie java.util.function:
Predicate<T>: Przyjmuje argument typuTi zwraca wartość boolean.// public boolean test(T t);Consumer<T>: Przyjmuje argument typuTi nic nie zwraca. Wykonuje akcję na argumencie.// public void accept(T t);Supplier<T>: Nie przyjmuje argumentów i zwraca wartość typuT.// public T get();Function<T, R>: Przyjmuje argument typuTi zwraca wartość typuR.// public R apply(T t);
Adnotacja @FunctionalInterface jest opcjonalna, ale zalecana do sprawdzania przez kompilator i dla jasności.
@FunctionalInterface
interface MyFunction {
String process(String input);
default void doNothing() {
// Metoda domyślna
}
}