Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177

    [java]compareto con int

    Ciao guardando vari esercizi su internet ne ho trovati molti che utilizzano compareTo anche per tipi primitivi (come int).Se ho per esempio la classe Persona(formata da nome,cognome,età),e voglio confrontare l'età di una persona con un altra:
    codice:
    public int compareTo(Persona altra) {
        return this.età - altra.età;
    }
    Perchè fa una differenza tra le due età?
    Ultima modifica di el92; 15-03-2015 a 17:24

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da el92 Visualizza il messaggio
    Perchè fa una differenza tra le due età?
    this.età accede al campo età nell'oggetto referenziato da this (ovvero l'oggetto su cui è invocato compareTo) mentre altra.età accede al campo età nell'altro oggetto passato come argomento.

    P.S. In senso generale (e senza sapere il range dei valori) la sottrazione non andrebbe usata, per questioni legate al possibile overflow. Nel caso di una età .... beh, il numero è piccolo e quindi non si incorre certo nel overflow.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177
    ah ok quindi non fà una vera e propria differenza ma è come "confrontasse" i due int giusto?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da el92 Visualizza il messaggio
    ah ok quindi non fà una vera e propria differenza ma è come "confrontasse" i due int giusto?
    Fa realmente la sottrazione! this.età vale 30 e altra.età vale 45 .... restituisce -15, quindi essendo < 0 vuol dire appunto che l'oggetto this è "minore" dell'oggetto altra.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177
    ok grazie adesso ho capito

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.