Visualizzazione dei risultati da 1 a 10 su 13

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    14
    public class Persona {

    private String nome;
    private String cognome;



    // TODO Auto-generated method stub






    public String getNome() {
    return nome;
    }


    public void setNome(String nome) {
    this.nome = nome;
    }


    public String getCognome() {
    return cognome;
    }


    public void setCognome(String cognome) {
    this.cognome = cognome;
    }




    public boolean equals(Object obj){
    if(obj instanceof Persona){
    Persona other = (Persona) obj ;
    return nome.equals(other.nome) && cognome.equals(other.cognome);

    }
    else {return false;}
    }
    }


    ----------------------------------------------------------------------------------------------------------------------------------------------------

    public class main {


    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Persona p3 = new Persona();
    p3.setCognome("russo");
    p3.setNome("pasquale");
    Persona p2 = new Persona();
    p2.setCognome("russo");
    p2.setNome("pasquale");
    boolean x = p3.equals(p2);
    System.out.print(x);
    }


    }



    Ho appena risolto senza l'ausilio del costruttore grazie per l'aiuto.
    Comunque io volevo semplicemente fare un confronto tra due oggetti con parametri differenti passati al costruttore.
    Sai spiegarmi il perché non mi funziona così?
    Grazie ancora

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Xert Visualizza il messaggio
    Ho appena risolto senza l'ausilio del costruttore.
    Il costruttore che riceve già nome/cognome non è ovviamente fondamentale .... ti risparmiava solo i 2 set per ogni persona che costruisci. Non c'entra nulla con equals. Sarebbe stata solo una comodità in più ... null'altro.

    Quote Originariamente inviata da Xert Visualizza il messaggio
    Comunque io volevo semplicemente fare un confronto tra due oggetti con parametri differenti passati al costruttore.
    Sai spiegarmi il perché non mi funziona così?
    In che senso non funziona? Il equals che hai scritto poco fa è tecnicamente corretto e appropriato. I due oggetti p2 e p3 hanno lo stesso "stato" (nome e cognome), quindi sono uguali e quindi p3.equals(p2) restituisce true.

    Tutto qui.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.