Quote Originariamente inviata da Xert Visualizza il messaggio
Spero di non aver scritto stupidaggini
Se è questo che hai scritto .... mancano un po' di cose. Tecnicamente, il equals è corretto. Ma generalmente non si fa così, cioè non si fa un cast diretto e basta (equals non deve schiantarsi lanciando ClassCastException, invece bisognerebbe testare prima il tipo con l'operatore instanceof)
Il tuo equals comunque confronta solo i nomi ... e oltretutto direttamente sui campi che sono pure public (non è proprio il massimo questo ...).

Il vero punto che non va è che il costruttore è vuoto, non fa nulla, quindi i campi non vengono inizializzati se fai solo new Persona( .... ). E se i campi restano a null ... allora sì che il equals si schianta, e con NullPointerException.

E non ho comunque capito cosa ci fanno (e che senso hanno) i Persona p1/p2 lì in mezzo ...