W Javie 8 natknąłem się na nowy termin: „interfejs funkcjonalny”. Podczas pracy z wyrażeniami lambda mogłem znaleźć tylko jedno jego użycie .
Java 8 zapewnia wbudowane interfejsy funkcjonalne i jeśli chcemy zdefiniować dowolny interfejs funkcjonalny, możemy skorzystać z @FunctionalInterface
adnotacji. Pozwoli nam to zadeklarować tylko jedną metodę w interfejsie.
Na przykład:
@FunctionalInterface
interface MathOperation {
int operation(int a, int b);
}
Jak przydatne jest to w Javie 8 poza samą pracą z wyrażeniami lambda ?
(Pytanie tutaj różni się od tego, które zadałem. Chodzi o pytanie, dlaczego potrzebujemy interfejsów funkcjonalnych podczas pracy z wyrażeniami lambda. Moje pytanie brzmi: dlaczego interfejsy funkcjonalne mają inne zastosowania oprócz wyrażeń lambda?)