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

Работал ли с функциональным интерфейсом

Да, работал. Функциональный интерфейс в Java — это интерфейс с одним абстрактным методом (SAM). Они используются в лямбда-выражениях и Stream API. Например, Predicate<T>, Function<T,R>, Consumer<T>, Supplier<T>.

Пример с Predicate:

java
Predicate<String> isLong = s -> s.length() > 5;
System.out.println(isLong.test("Hello")); // false

Можно создавать свои функциональные интерфейсы, аннотируя их @FunctionalInterface:

java
@FunctionalInterface
interface Calculator {
    int calculate(int a, int b);
}

Calculator add = (a, b) -> a + b;

Важно помнить про default и static методы — они не нарушают условие SAM.

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

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

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

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