BigDecimal.ZERO
es una constante predefinida y, por lo tanto, no tiene que evaluarse desde una cadena en tiempo de ejecución como BigDecimal("0")
. Será más rápido y no requerirá la creación de un nuevo objeto.
Si su código necesita ejecutarse en pre-1.5, entonces puede usar el patrón Singleton (muy difamado) para crear un objeto equivalente a BigDecimal.ZERO
. La primera vez que se use, llamaría al BigDecimal("0")
para crear un objeto cero y devolver ese objeto en llamadas posteriores. De lo contrario, si su código se ejecuta en un sistema 1.5, su objeto singleton puede simplemente devolver BigDecimal.ZERO
sin penalización de tiempo de ejecución.
Quitaría la palabra "esencialmente" - ES una constante predefinida. –
Buena llamada, gracias. –
new BigDecimal ("0") crea una nueva instancia de objeto cada vez, pero BigDecimal.ZERO no crea nuevas instancias. –