Junior — Middle
Можете ли да обясните какво е функционален интерфейс в Java и защо е нужен?
sobes.tech AI
Отговор от AI
Функционалният интерфейс в Java е интерфейс с точно един абстрактен метод. Той е необходим за поддръжка на функционално програмиране и позволява използването на ламбда изрази и препратки към методи.
За какво е това:
- Улеснява кода, като позволява писане на компактни анонимни функции.
- Подобрява четливостта и изразителността.
- Позволява предаване на поведение като параметър.
Пример за функционален интерфейс:
@FunctionalInterface
public interface Calculator {
int calculate(int a, int b);
}
// Използване с ламбда израз
Calculator sum = (a, b) -> a + b;
int result = sum.calculate(5, 3); // result = 8
Анотацията @FunctionalInterface не е задължителна, но помага на компилатора да провери дали интерфейсът е действително функционален.