ciao ragazzi !

ho un problema su cui sto sbattendo la testa da stamattina !

ho un oggetto del tipo:

codice:
 
ArrayList<Movimenti> listamov;
dove Movimenti e un vettore da me creato :

codice:
public class Movimenti {
	public int Causale;
	public String Codmat;
	public int Hmat;
	public int Ml;
	public int Bobine;
	public int Commessa;
	public int Mq;
	public String Data;
	public String Categoria;
}
caricando i dati dal database cosi :

codice:
ArrayList<Movimenti> listmov = new  ArrayList<Movimenti>();
Movimenti mov;

while(rs.next()){
	mov=new Movimenti();
	mov.Codmat=rs.getString(1);
	mov.Hmat=rs.getInt(2);
	mov.Ml=rs.getInt(3);
	mov.Categoria=rs.getString(4);
	listmov.add(mov);
}
ora perchè questo if non mi funziona e mi porta sempre nel else anche quando la categoria e "MP" ?

codice:
      for(int i=0;i<mov.size();i++){
	String xx = ""+mov.get(i).Categoria.toString();
            System.out.println(mov.get(i).Categoria);
	if(xx=="MP"){
		System.out.println("ok funziona");
	}else{
             	System.out.println("dentro2 "+mov.get(i).Categoria);
	}
      }
sicuramente sarà una sciocchezza ma non mi viene.

grazi per le risposte.