У меня немного странная проблема с подсказкой IntelliJ при делении результата в конце операции потока.
products.stream()
.filter(
order ->
order.getEstimatedRealizationDate().compareTo(begin) > 0
&& order.getEstimatedRealizationDate().compareTo(end) < 0)
.map(order -> order.getProduct().getPrice())
.reduce(ZERO, BigDecimal::add)
.divide(valueOf(productList.size()))
.setScale(3, RoundingMode.CEILING);
Независимо от того, как вы установили округление, IntelliJ постоянно заявляет, что операция деления может быть сопряжена с риском в виде ArtithmeticException в форме сообщения и операции деления с подсветкой.Я использовал любую из опций round ().
Сообщает о вызовах функцииdiv () или setScale () без аргумента режима округления.Такие вызовы могут привести к ArithmeticException, когда точное значение не может быть представлено в результате (например, потому что у него есть бесконечное десятичное расширение).Задание режима округления предотвращает исключение ArithmeticException.
У меня сложилось впечатление, что я пробовал все возможные варианты, но IntelliJ не сдается.Пожалуйста, предложите, что я делаю не так.Заранее спасибо за каждый вид помощи.