Salve raga ho un problema con le ArrayList , vi spiego subito.
1 Creo tre ArrayList specificando il tipo tramite classi che ho creato io.
codice:
ArrayList<Apo> listaold=null;
ArrayList<Apo> listanew=null;
ArrayList<ApoSpeMod> listamod=new ArrayList<ApoSpeMod>();
la Classe Apo è 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;
}
la Classe ApoSpeMod è questa:
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;
}
Dopo inizializzo listaold e listanew con un metodo che preleva i dati da un file excel.
Faccio dei confronti tra i due, e le righe risultanti devono essere copiate in listamod.
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);
}
}
}
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.
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