Не решайте окончательную переменную внутри Java 8 Stream
Есть ли способ конвертировать следующий код в Java 8 Stream.
final List ret = new ArrayList(values.size());
double tmp = startPrice;
for (final Iterator it = values.iterator(); it.hasNext();) {
final DiscountValue discountValue = ((DiscountValue) it.next()).apply(quantity, tmp, digits, currencyIsoCode);
tmp -= discountValue.getAppliedValue();
ret.add(discountValue);
}
Потоки Java 8 жалуются на отсутствие окончательной переменной tmp? Есть ли способ решить такие ситуации?
Локальная переменная tmp, определенная во включающей области видимости, должна быть окончательной или фактически конечной