powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Java 8 Consumer
5 сообщений из 5, страница 1 из 1
Java 8 Consumer
    #39043141
leader
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть список, надо последовательно вызвать два консюмера при итерации

Сейчас так:
Код: java
1.
2.
	Consumer<Integer> con1 = (c) -> {System.out.println(c);};
	li.forEach(con1.andThen((c) -> {System.err.println(c);}));



хотелось бы что-то наподобие (код не компилится):
Код: java
1.
	li.forEach(((c) -> {System.out.println(c);}) .andThen((c) -> {System.err.println(c);}));



т.е. в одну строку (<первый консюмер>).andThen(<второй консюмер>)
Такое возможно?
...
Рейтинг: 0 / 0
Java 8 Consumer
    #39043142
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leader,

Не очень понял. Нужно два прохода или один?
...
Рейтинг: 0 / 0
Java 8 Consumer
    #39043150
leader
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос в том, можно ли написать языковую конструкцию в виде одной строки, соответствующую этому работающему коду:
Код: java
1.
2.
	Consumer<Integer> con1 = (c) -> {System.out.println(c);};
	li.forEach(con1.andThen((c) -> {System.err.println(c);}));
...
Рейтинг: 0 / 0
Java 8 Consumer
    #39043166
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так?
Код: java
1.
li.forEach(((Consumer<Integer>)System.out::println).andThen(System.out::println));
...
Рейтинг: 0 / 0
Java 8 Consumer
    #39043172
leader
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

да, сенкс
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Java 8 Consumer
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]