Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, czym jest interfejs funkcyjny w języku Java i do czego służy?

sobes.tech AI

Odpowiedź od AI

Interfejs funkcyjny w Javie to interfejs z dokładnie jedną metodą abstrakcyjną. Jest potrzebny do obsługi programowania funkcyjnego i pozwala na używanie wyrażeń lambda i odwołań do metod.

Po co to jest:

  • Ułatwia kod, pozwalając na pisanie zwartych funkcji anonimowych.
  • Zwiększa czytelność i wyrazistość.
  • Pozwala przekazywać zachowanie jako parametr.

Przykład interfejsu funkcyjnego:

@FunctionalInterface
public interface Calculator {
    int calculate(int a, int b);
}

// Użycie z wyrażeniem lambda
Calculator sum = (a, b) -> a + b;
int result = sum.calculate(5, 3);  // result = 8

Adnotacja @FunctionalInterface nie jest obowiązkowa, ale pomaga kompilatorowi sprawdzić, czy interfejs jest rzeczywiście funkcyjny.