На этом шаге мы рассмотрим функциональные интерфейсы
Ранее мы говорили об лямбда-выражениях. Но как мы знаем, у каждого результата выражения есть тип. Следовательно, у лямбд тоже должен быть тип. Все дело в том, что в Java любому лямбда-выражению соответствует интерфейс. Такие интерфейсы всегда содержат только один абстрактный метод. Но они могут содержать сколько угодно методов с реализацией по умолчанию (помеченные ключевым словом default). Также они помечены специальной аннотацией @FunctionalInterface. Такие интерфейсы носят название функциональные интерфейсы. В Java все стандартные функциональные интерфейсы лежат в пакете java.util.function. В приведенной ниже таблице приведены наиболее часто используемые интерфейсы.
Интерфейс | Описание |
---|---|
Consumer<T> |