Это должно быть правильно, так как вы изменяете не список, а атрибут элемента:
besoins.stream().forEach(besoin -> {
String purchaseOrderPosition = besoin.getReferenceOa().trim();
if(!purchaseOrderPosition.isEmpty()) {
ValeursDynamiques valeursDynamiques = valeursDynamiquesService.DynamicValues(supplierNumber, purchaseOrderPosition);
besoin.setQuantityInTransit(valeursDynamiques.getUsedValues().getQteEnTransit());
besoin.setQuantityOrdered(valeursDynamiques.getUsedValues().getQteCommandee());
besoin.setQuantityDelivered(valeursDynamiques.getUsedValues().getQteRecue());
besoin.setDeliveryDateScheduled(valeursDynamiques.getUsedValues().getDateLivraisonPlanifiee());
besoin.setDeliverydateConfirmed(valeursDynamiques.getUsedValues().getDateLivraisonConfirmee());
besoin.setQuantityRestExpedited(valeursDynamiques.getUsedValues().getSoldeAExpedier());
}
}
вы можете напрямую использовать forEach()
из списка, и я должен использовать isEmpty()
intead != ""
.
Но как уже говорилось ранее, зачем здесь использовать Stream? besoins.stream().forEach(besoin ->
менее читабелен, чем for (Besoin besoin : besoins)
Обычно, когда поток предпочитают фильтровать, отображать и извлекать некоторые данные