while Lambda expression can return anything.
Это неправильно
Лямбда-выражение записывается в соответствующий абстрактный метод в интерфейсе функции
Рассматривая Predicate
в качестве примера, лямбдавыражение будет записано в соответствующий абстрактный метод, который boolean test(T t)
Из документов Java здесь с ясным примером
ФункциональныйИнтерфейс - это любой интерфейс, который содержит только один абстрактный метод.(Функциональный интерфейс может содержать один или несколько стандартных методов или статических методов.) Поскольку функциональный интерфейс содержит только один абстрактный метод, вы можете опустить имя этого метода при его реализации.Для этого вместо использования анонимного выражения класса используется лямбда-выражение, которое выделяется в следующем вызове метода:
См. Подход 5. Укажите код критериев поиска с помощью лямбда-выражения
См. Подход 6. Использование стандартных функциональных интерфейсов с лямбда-выражениями