BigDecimal.ZERO
- это предопределенная константа, поэтому ее не нужно оценивать по строке во время выполнения, как было бы BigDecimal("0")
. Это будет быстрее и не потребует создания нового объекта.
Если ваш код должен быть запущен до версии 1.5, вы можете использовать шаблон (с большим количеством клеветы) Singleton для создания объекта, эквивалентного BigDecimal.ZERO
. При первом использовании он вызывает BigDecimal("0")
для создания нулевого объекта и возвращает этот объект при последующих вызовах. В противном случае, если ваш код работает в системе 1.5, ваш одноэлементный объект может просто вернуть BigDecimal.ZERO
без штрафа за время выполнения.