Considere el siguiente código:¿Se garantiza NumberFormat.getInstance para crear una nueva instancia?
NumberFormat format = NumberFormat.getInstance();
format.setMinimumFractionDigits(spotDecimalPlaces);
format.setMaximumFractionDigits(spotDecimalPlaces);
¿Es "seguro"? ¿Está garantizado que NumberFormat.getInstance()
devuelva un nuevo objeto NumberFormat
cada vez?
¿O existe la posibilidad de que getInstance()
devuelva la misma instancia? (En cuyo caso el código afectaría a todo el resto del JVM que pasa a utilizar getInstance
...)
Mirando el código fuente que parece como que devuelve una nueva instancia cada vez. El JavaDoc es frustrantemente vago al respecto.
Si el código anterior es realmente "seguro", entonces me parece que getInstance()
es un nombre deficiente para este método, que debería llamarse createInstance()
.
¿Está NumberFormat.getInstance()
garantizado para devolver siempre una nueva instancia?
Si es vaga entonces yo no confiar en ella en absoluto –
Sí podría decirse que lo más robusto para hacer es crear un nuevo DecimalFormat. Realmente no quiero que la "configuración regional" actual afecte el comportamiento en ningún caso ... –