Как называется возможность передать алгоритм в качестве аргумента метода в Java 8+?

Это передача поведения через функциональный интерфейс: в Java 8+ его реализацию удобно задавать lambda-выражением или ссылкой на метод.

Короткий ответ

Что ответить на собеседовании

Это передача поведения через функциональный интерфейс: в Java 8+ его реализацию удобно задавать lambda-выражением или ссылкой на метод.

Подробный разбор

Ответ с пояснениями

Это передача поведения через функциональный интерфейс: в Java 8+ его реализацию удобно задавать lambda-выражением или ссылкой на метод.

Например, Predicate<T> представляет проверку, Function<T,R> — преобразование, Comparator<T> — сравнение. Метод принимает значение интерфейсного типа, а вызывающий код передаёт алгоритм, например items.sort(Comparator.comparing(User::getName)). Функциональный интерфейс имеет один абстрактный метод; default и static методы этому не мешают. До lambdas похожую задачу решали анонимными классами. Java не передаёт «голую функцию» вне типового контракта так же, как Python.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее