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

Обработка значения без возврата в Java

Consumer выполняет действие над значением и ничего не возвращает. Абстрактный метод - accept. Такой контракт подходит для вывода в лог, сохранения черновика или отправки события.

Потребитель, который печатает заголовок:

import java.util.function.Consumer; Consumer<String> printTitle = title -> System.out.println("title: " + title);

Вызов для одной строки:

public class Main { public static void main(String[] args) { Consumer<String> printTitle = title -> System.out.println("title: " + title); printTitle.accept("release notes"); } }

Метод обхода может принимать Consumer и вызывать его для каждого элемента:

import java.util.function.Consumer; class TitlePrinter { void each(String[] titles, Consumer<String> action) { for (String title : titles) { action.accept(title); } } }

При вызове подставляют нужную лямбду:

TitlePrinter printer = new TitlePrinter(); printer.each( new String[] {"one", "two"}, title -> System.out.println("# " + title) );

Создайте Consumer<String> markDraft, который выводит "draft: " и переданный заголовок. Вызовите accept для "post".

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