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

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

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

  1. Predicate<T> – проверяет условие (test(T t)), возвращает boolean.
    Пример:

    java
    Predicate<String> isEmpty = s -> s.isEmpty();
  2. Function<T, R> – принимает T, возвращает R (apply(T t)).
    Пример:

    java
    Function<String, Integer> length = s -> s.length();
  1. Consumer<T> – принимает T, ничего не возвращает (accept(T t)).
    Пример:

    java
    Consumer<String> print = s -> System.out.println(s);
  2. Supplier<T> – ничего не принимает, возвращает T (get()).
    Пример:

    java
    Supplier<Double> random = Math::random;
  3. UnaryOperator<T> – принимает T, возвращает T (частный случай Function<T, T>).
    Пример:

    java
    UnaryOperator<String> toUpper = String::toUpperCase;
  4. BiFunction<T, U, R> – принимает T и U, возвращает R.
    Пример:

    java
    BiFunction<Integer, Integer, Integer> sum = (a, b) -> a + b;

Используются в Stream API, лямбдах и методах по умолчанию.

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

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

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

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