BigDecimal.ZERO
ist eine vordefinierte Konstante und muss daher nicht zur Laufzeit aus einer Zeichenfolge ausgewertet werden, wie BigDecimal("0")
wäre. Es wird schneller und erfordert nicht die Erstellung eines neuen Objekts.
Wenn Ihr Code unter 1.5 ausgeführt werden muss, können Sie das (viel verfälschte) Singleton-Muster verwenden, um ein Objekt zu erstellen, das BigDecimal.ZERO
entspricht. Wenn es zum ersten Mal verwendet wird, ruft es BigDecimal("0")
auf, um ein Null-Objekt zu erstellen und dieses Objekt bei nachfolgenden Aufrufen zurückzugeben. Andernfalls, wenn Ihr Code auf einem 1.5-System ausgeführt wird, kann Ihr Singleton-Objekt einfach BigDecimal.ZERO
ohne Laufzeitfehler zurückgeben.
Ich würde das Wort "im Wesentlichen" entfernen - es ist eine vordefinierte Konstante. –
Guter Anruf, danke. –
new BigDecimal ("0") erstellt jedes Mal eine neue Objektinstanz, aber BigDecimal.ZERO erstellt keine neuen Instanzen. –