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

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

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

sobes.tech AI

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

Например, интерфейс Runnable — функциональный интерфейс с одним методом run(). Его удобно использовать для создания потоков:

Runnable task = () -> System.out.println("Выполнение задачи в отдельном потоке");
new Thread(task).start();

Также часто использовал интерфейсы из пакета java.util.function, например, Function<T, R>, Predicate<T>, Consumer<T> для обработки коллекций и потоков данных:

List<String> names = Arrays.asList("Anna", "Bob", "Charlie");

// Использование Predicate для фильтрации
List<String> filtered = names.stream()
    .filter(name -> name.startsWith("A"))
    .collect(Collectors.toList());

Функциональные интерфейсы позволяют писать компактный и выразительный код, особенно при работе с API Stream и обработке событий.