BigDecimal: .add niby tylko dodawanie, ale nie tylko, bo sprawdza dziwne wartości
No zobacz:
Jak widać, to jest dużo więcej niż a + b. To, co zwraca moją uwagę, to to, że jest tylko jedna wartość w parametrach, bo druga to ta, na której to jest wywoływane, bo to zawsze jest wywoływane na obiekcie.
Ciekawostka, że BigDecimali nie można zrobić tak po prostu a+b:
Nie wiedziałem tego do tej pory :)
public BigDecimal add(BigDecimal augend) {
if (this.intCompact != INFLATED) {if ((augend.intCompact != INFLATED)) {return add(this.intCompact, this.scale, augend.intCompact, augend.scale);} else {return add(this.intCompact, this.scale, augend.intVal, augend.scale);}} else {if ((augend.intCompact != INFLATED)) {return add(augend.intCompact, augend.scale, this.intVal, this.scale);} else {return add(this.intVal, this.scale, augend.intVal, augend.scale);}}}
Jak widać, to jest dużo więcej niż a + b. To, co zwraca moją uwagę, to to, że jest tylko jedna wartość w parametrach, bo druga to ta, na której to jest wywoływane, bo to zawsze jest wywoływane na obiekcie.
Ciekawostka, że BigDecimali nie można zrobić tak po prostu a+b:
Nie wiedziałem tego do tej pory :)

Komentarze
Prześlij komentarz