Java 8 преобразование цикла, который манипулирует элементами в лямбда-поток - PullRequest
0 голосов
/ 04 октября 2018

У меня есть цикл for, который выглядит следующим образом.

for(Customer customer : customers)
{
    Address address = customer.getAdderess();
    String status = address.deliver(parsel);
    customer.setStatus(status);
}

Который я хочу преобразовать в лямбда-поток.Проблема заключается в том, что после преобразования элемента «Клиент» в потоке (сопоставления) в элемент «Адрес» элемент «Клиент» больше не доступен для манипулирования.Я пробовал что-то вроде этого.

customers.stream()
         .map((customer)-> customer.getAddress())
         .map((address)-> address.deliver())
         .forEach((status)-> customer.setStatus);

Но выдает ошибку компилятора, говорящую о том, что клиент не может быть решен.
Есть ли способ решить эту проблему, используя любые другие операторы потока, не внося при этом большой сложности?

Заранее спасибо.

1 Ответ

0 голосов
/ 04 октября 2018
customers.forEach(customer -> {
     customer.setStatus(customer.getAdderess().deliver(parsel));
});

Нет необходимости в потоковой передаче;даже более простой цикл, как в вашем случае не требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...