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.

Comparazione stringhe in Java
Antonio Lamorgese


Desideri acquisire nuove competenze?

corsi.it

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

Corsi.it - Il portale Nr.1 al mondo di corsi online


Amministratore di rete e sviluppatore. Dopo anni di esperienza nel settore, ho ideato un sistema di gestione dati MYSQL in PHP senza scrivere una sola riga di codice. Scopri di più....