Sobes.tech
Back to questions
Junior — Middle
93

Можете объяснить, что такое функциональный интерфейс в языке Java и зачем он нужен?

Answer from AI

sobes.tech 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 не обязательна, но помогает компилятору проверить, что интерфейс действительно функциональный.