Spero di non dire una fesseria :master: ma per verificare l'eguaglianza tra due stringhe si dovrebbe usare:

codice:
if(str1.equals(str2))
{...}
Invece
codice:
if(str1==str2)
{...}
controlla che sia due puntamenti alla stessa istanza (verifica l'uguaglianza tra gli hashcode dei 2 oggetti).

Potrebbe essere questo l'errore?

Matteo