i have an arraylist, and for some reasons it overwrites all previous values and only returns the last value added. So i have 3 objects to add, there will be 3 times the last object in the array. Here’s the code: (sorry the variables aren’t english):
public class Convertor {
ArrayList<ArrayList<String>> hervormen = new ArrayList<ArrayList<String>>();
String Voornaam;
public Convertor(ArrayList<ArrayList<String>> hervormen)
{
this.hervormen=hervormen;
}
public ArrayList<HervormdeRij> Hervormen(){
ArrayList<HervormdeRij> hervormd = new ArrayList<HervormdeRij>();
HervormdeRij HervormdeRij = new HervormdeRij();
int teller = 0;
ArrayList<String> rij = new ArrayList<String>();
while (teller < hervormen.size()){
rij= hervormen.get(teller);
HervormdeRij.setDag(rij0(rij));
HervormdeRij.setUur(rij1(rij));
HervormdeRij.setDokterId(rij2DokterId(rij));
HervormdeRij.setDuur(rij2Duur(rij));
HervormdeRij.setAchternaam(rij5(rij));
HervormdeRij.setVoornaam(Voornaam);
HervormdeRij.setAdress(rij6(rij));
HervormdeRij.setGemeente(rij7(rij));
HervormdeRij.setTel(rij8(rij));
HervormdeRij.setCommentaar(rij10(rij));
HervormdeRij.setEmail(rij11(rij));
hervormd.add(HervormdeRij);
teller++;
}
return hervormd;
So “hervormd” is always 2000 times(the amount of “hervormen”.size()) the last “HervormdeRij”. I really don’t see an error in my code? (And I Am 1000% sure that “hervormen” != 2000 times the same value.)
Thanks in Advance
You need to move
HervormdeRij HervormdeRij = new HervormdeRij();inside the loop, or you will keep adding the same object every time: