Нет. BigDecimal
- это библиотечный класс (его даже нет в java.lang
), поэтому компилятор обрабатывает его как любой другой класс.
BigDecimal
может особый случай это внутренне, но, видимо, нет.
( Редактировать: Я должен добавить, что вполне возможно, что JIT-компилятор может творить чудеса, но я должен был бы сделать несколько тестов, чтобы быть уверенным.)
Я бы только предложил изменить код для использования BigDecimal.valueOf()
, потому что 1, 2 и 3 - это некоторые из особых случаев, которые внутренне кэшируются BigDecimal
.
bd = bd.multiply(BigDecimal.valueOf(getOneTwoOrThree());