Wenn Sie erwarten, dass der BigDecimal
-Wert wirklich groß ist (dh außerhalb des Bereichs von int
-Werten, also -2 31 bis 2 31 -1 ) und / oder um Dezimalziffern zu enthalten oder einfach nur sicher zu spielen, sollten Sie int
in BigDecimal
konvertieren, um Überlauf- / Abbruchfehler zu vermeiden.
Andernfalls, wenn die Leistung ein wirklich großes Problem ist (was selten vorkommt), könnte umgekehrt besser sein.
Sie möchten das int
in ein BigDecimal
konvertieren.
Dies liegt daran, dass Sie BigDecimal nicht immer in einen int konvertieren können; Sie verlieren alle Informationen nach dem Dezimalpunkt, und der Wert von BigDecimal liegt möglicherweise außerhalb des Bereichs von int.
Ein Grund, Int nicht in BigDecimal zu konvertieren, ist die Tatsache, dass Sie ein neues Objekt erstellen würden. Deshalb werfen Sie wirklich Müll auf Ihren Heap, um Gleichheit zu erreichen. Primitive Gleichheit wäre auch schneller als die auf dem eigentlichen BigInteger-Objekt.
Tags und Links java comparison int bigdecimal