Sobes.tech
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 не е задължителна, но помага на компилатора да провери дали интерфейсът е действително функционален.