Sobes.tech
Назад к вопросам
Junior — Middle
70

Можно ли определить интерфейс без аннотации @FunctionalInterface как функциональный интерфейс?

Ответ от нейросети

sobes.tech AI

Аннотация @FunctionalInterface в Java не обязательна для того, чтобы интерфейс считался функциональным. Главное условие — интерфейс должен содержать ровно один абстрактный метод.

Аннотация служит для явного указания и проверки этого факта компилятором, но даже без неё интерфейс с одним абстрактным методом можно использовать в лямбда-выражениях и методах, ожидающих функциональный интерфейс.

Пример:

interface MyFunction {
    void apply(); // единственный абстрактный метод
}

MyFunction f = () -> System.out.println("Hello");
f.apply();

Здесь MyFunction — функциональный интерфейс без аннотации.