Sobes.tech
Junior — Middle
66

Можешь перечислить ключевые характеристики функциональных интерфейсов в программировании?

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

sobes.tech AI

Функциональные интерфейсы в Java — это интерфейсы с ровно одним абстрактным методом, что позволяет использовать их как целевые типы для лямбда-выражений и ссылок на методы.

Ключевые характеристики:

  • Один абстрактный метод (SAM - Single Abstract Method).
  • Могут содержать дефолтные методы с реализацией.
  • Могут содержать статические методы.
  • Аннотируются аннотацией @FunctionalInterface (необязательно, но рекомендуется для проверки).
  • Позволяют писать более лаконичный и выразительный код с использованием лямбд.

Пример:

@FunctionalInterface
public interface Converter<F, T> {
    T convert(F from);
}

// Использование
Converter<String, Integer> stringToInteger = Integer::valueOf;
int number = stringToInteger.convert("123");