Originariamente inviato da valia
scusa cosa vuoi confrontare?? Due stringhe?
In java le stringhe (o meglio gli oggetti) se confrontati con == non è detto che tornino true anche se hanno lo stesso contenuto.

== confronta i riferimenti, ritorna true se il riferimento è uguale, false in caso contrario.

le stringhe si confrontano con

codice:
if((tmp.getNome()).equals(s))
condivido perfettamente, vorrei spiegarti perchè succede questo, in java gli oggetti che dichiari come le stringhe hanno dei puntatori( linguaggio c++ ) "nascosti", in poche parole con l'operazione "==" non controlli se le stringhe sono uguali ma controlli se sono uguali i loro indirizzi di memoria.
Se hai ancora dubbi chiedi pure