Sobes.tech
Junior — Middle

Kun je de belangrijkste kenmerken van functionele interfaces in programmeren opsommen?

sobes.tech AI

Antwoord van 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");