Я исправляю ошибки устаревшего кода, как указано SonarQube, и возникла такая ситуация.
BigDecimal amountBig= new BigDecimal(settlementReportBean.getAmount(), MathContext.DECIMAL64)
.divide(new BigDecimal(merchantSettlementMaxValue, MathContext.DECIMAL64));
Видите ли, SonarQube предлагает использовать BigDecimal.valueOf () вместо объявления новых объектов. Итак, вот мой фиксированный код.
BigDecimal amountBig= BigDecimal.valueOf(settlementReportBean.getAmount())
.divide(BigDecimal.valueOf(merchantSettlementMaxValue), MathContext.DECIMAL64);
Как видите, я удалил Mathcontext из дивиденда в разделительной линии. Это повлияет на поведение кода?
JavaDo c определяет следующее.
Возвращает BigDecimal со значением (this / divisor) с округлением в соответствии с настройками контекста.
Надеюсь, мой код выполняет свою работу соответствующим образом, но я чувствовал, что проверяю людей, которые столкнулись бы с такой ситуацией.