Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpLmLR 5 of 322 menu
◀ ▶

Возврат значения из лямбды в Java

Если тело лямбды - одно выражение без фигурных скобок, его результат автоматически становится возвращаемым значением метода интерфейса. Слово return в такой форме не пишут.

Интерфейс возвращает число - длину заголовка:

@FunctionalInterface interface TitleScore { int score(String title); }

Лямбда с неявным возвратом:

TitleScore byLength = title -> title.length();

Для void-метода выражение справа не требуется - достаточно вызова с побочным эффектом:

@FunctionalInterface interface TitleLogger { void log(String title); } TitleLogger toConsole = title -> System.out.println("title: " + title);

Проверка в main:

public class Main { public static void main(String[] args) { TitleScore byLength = title -> title.length(); System.out.println(byLength.score("api")); TitleLogger toConsole = title -> System.out.println("title: " + title); toConsole.log("draft"); } }

Сделайте TitleScore bonus: лямбда возвращает title.length() + 10. Выведите bonus.score("go") и убедитесь, что на экране 12.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить