Встречается на 2% собеседований по Java

Какие знаешь классические функциональные интерфейсы

В Java есть несколько основных функциональных интерфейсов в пакете java.util.function:

  1. Predicate<T> - проверяет условие (метод test())
java
Predicate<String> isEmpty = s -> s.isEmpty();
  1. Function<T,R> - преобразует T в R (метод apply())
java
Function<Integer, String> intToString = i -> "Number: " + i;
  1. Consumer<T> - принимает T, ничего не возвращает (метод accept())
java
Consumer<String> printer = System.out::println;
  1. Supplier<T> - поставляет значения (метод get())
java
Supplier<Double> random = Math::random;
  1. UnaryOperator<T> - частный случай Function, где вход и выход одного типа
java
UnaryOperator<String> toUpper = String::toUpperCase;
  1. BiFunction<T,U,R> - принимает два аргумента, возвращает результат
java
BiFunction<Integer, Integer, Integer> sum = (a, b) -> a + b;

Эти интерфейсы активно используются в Stream API и лямбда-выражениях.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы