Questa porzione di codice dovrebbe restituire true ma restituisce false.
Ciò non accade per oggetti di tipo String oppure Rectangle.
La tua classe Persona deve ridefinire il metodo public boolean equals(Object o), altrimenti resta solo il equals "ereditato" da Object .... che si basa solo sulla identità (operatore == ) degli oggetti.