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

Имел ли опыт работы с функциональными интерфейсами в своих проектах?

Компании, где спрашивали
AstonAston

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

sobes.tech AI

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

Примеры стандартных функциональных интерфейсов:

  • Runnable — без параметров и возвращаемого значения.
  • Supplier<T> — поставляет объект типа T.
  • Consumer<T> — принимает объект типа T, ничего не возвращает.
  • Function<T,R> — принимает T и возвращает R.
  • Predicate<T> — принимает T и возвращает boolean.

Пример использования Function с лямбдой:

import java.util.function.Function;

Function<String, Integer> stringLength = s -> s.length();
int len = stringLength.apply("Hello"); // len = 5

Также создавал свои функциональные интерфейсы для специфичных задач, используя аннотацию @FunctionalInterface для явного указания, что интерфейс предназначен для лямбд.