a1 e a2 sono oggetti di tipo Integer e tra oggetti l'operatore == verifica se i due operandi puntano alla stessa locazione di memoria.
Nei casi < e > invece entra in gioco l'autounboxing.
Facendo a1.equals(a2) al posto di == dovresti risolvere.
Leggi qua per approfondire: http://stackoverflow.com/questions/9...lue-comparison

Rispondi quotando