In Java, qual è la differenza tra equals e compareTo quando si comparano due BigDecimal?
Override ed implementazione alternativa del metodo equals() mediante l'utilizzo di toString() ed equals() della classe String.
di Antonio Lamorgese
In Java La differenza c’è ed è sostanziale. Il metodo equals effettua un confronto tra oggetti. Ad esempio:
Bigdecimal b1 = new BigDecimal(1);Bigdecimal b2 = new BigDecimal(1.00);System.out.println(b1.equals(b2));
In questo caso l’istruzione alla riga 3, stampera’ a video il valore false, cioè confrontando i due oggetti, la differenza sta nel fatto che pur essendo uguali nel valore sono diversi nella precisione o scala. Da qui si intuisce che il metodo equals confronta oggetti e non solo valori.
Il metodo compareTo confronta solo i valori di due oggetti in questo caso:
Bigdecimal b1 = new BigDecimal(1);Bigdecimal b2 = new BigDecimal(1.00);System.out.println(b1.compareTo (b2));
l’istruzione alla riga 3, stampera’ a video il valore true. Cioè sono stati comparati solo i valori numerici.
Desideri acquisire nuove competenze?

l'opportunità di acquisire nuove competenze e di
migliorare il tuo curriculum professionale.
Clicca qui per seguire le prime lezioni gratuite online
