Я добавлю важные пункты, чтобы завершить ответы других:
- Где можно использовать лямбды?
Вы можете использовать лямбда-выражение в контексте функционала
интерфейс (в двух словах, функциональный интерфейс представляет собой интерфейс, который
указывает ровно один абстрактный метод)
То есть ваш интерфейс MyInterface
должен быть функциональным интерфейсом.
- Дескриптор функции.
Абстрактный метод в вашем функциональном интерфейсе называется
function descriptor
, поэтому для присвоения лямбда-выражения
Функциональный интерфейс, лямбда должна иметь ту же подпись, что и
абстрактный метод
Например, ваш интерфейс MyInterface
получает только лямбда-выражения, которые принимают строковый параметр и не возвращают ничего (void).
Дополнительно
Пакет java.util.function
содержит множество функциональных интерфейсов, которые могут помочь вам работать и использовать лямбда-выражения, и поэтому мы можем сказать, что ваш интерфейс имеет тип Consumer, который является функциональным интерфейсом, который принимает объект на входе и (уничтожить его) вернуть void, см. Пакет java.util.function