Salve raga ho un problema con le ArrayList , vi spiego subito.
1 Creo tre ArrayList specificando il tipo tramite classi che ho creato io.
la Classe Apo è questa:codice:ArrayList<Apo> listaold=null; ArrayList<Apo> listanew=null; ArrayList<ApoSpeMod> listamod=new ArrayList<ApoSpeMod>();
la Classe ApoSpeMod è questa:codice:public class Apo { public String Specifica; public String Descrizione; public String Data_sped; public String Gtec; public String Quantita; public String Ordine; public String Item; public String Plant; public String Data; }
Dopo inizializzo listaold e listanew con un metodo che preleva i dati da un file excel.codice:class ApoSpeMod { public String Specifica; public String Ordine; public String Item; public String Data_new; public String Data_old; public String Quantita_new; public String Quantita_old; public String Nota; public String Nota2; public String Plant; }
Faccio dei confronti tra i due, e le righe risultanti devono essere copiate in listamod.
Ora il problema è che se i valori relativi all'ultimo indice di listanew sono uguali a quelli di listaold , mi va in errore sul primo if , altrimenti se sono diversi mi funziona perfettamente.codice:for(int i=0;i<listanew.size();i++){ for(int y=0;y<listaold.size();y++){ if(listanew.get(i).Specifica.equals(listaold.get(y).Specifica)&&listanew.get(i).Ordine.equals(listaold.get(y).Ordine)&&listanew.get(i).Item.equals(listaold.get(y).Item)){ if(!listanew.get(i).Data_sped.equals(listaold.get(y).Data_sped)||!listanew.get(i).Quantita.equals(listaold.get(y).Quantita)){ ApoSpeMod ogg = new ApoSpeMod(); ogg.Specifica=listanew.get(i).Specifica; ogg.Ordine=listanew.get(i).Ordine; ogg.Item=listanew.get(i).Item; ogg.Data_old=listaold.get(y).Data_sped; ogg.Data_new=listanew.get(i).Data_sped; ogg.Quantita_old=listaold.get(y).Quantita; ogg.Quantita_new=listanew.get(i).Quantita; ogg.Nota=listanew.get(i).Descrizione; ogg.Nota2=listanew.get(i).Gtec; ogg.Plant=listanew.get(i).Plant; listamod.add(ogg); } listanew.remove(i); } } }
Aggiungo che i controlli per tutti gli indici delle arraylist funzionano , mi va in errore solo con l'ultimo, perchè ?
qualcuno sa aiutarmi !!!!
ciao grazie

Rispondi quotando
