У меня проблема с добавлением элементов в ArrayList.Каждый раз, когда я делаю «add», все содержимое массива заменяется текущим значением элемента.Я в конечном итоге, например.10 повторяющихся дубликатов элементов.
Классы настроены следующим образом:
public class BradfordReport {
EmployeeRow _empRow = new EmployeeRow();
ArrayList<EmployeeRow> _bradfordData = new ArrayList<EmployeeRow>();
public void Run() {
// processing to setup Employee row variables
for (int x=0; x<10; x++) {
// This next line in debug IS ADJUSTING THE ARRAYLIST DATA!!
_empRow.EmpNum = x; // etc for other variable in EmployeeRow
_bradfordData.add(er);
}
}
// THE RESULT IN _bradfordData is 10 elements, all with EmpNum = 10!
}
public class EmployeeRow {
int EmpNum;
string EmpNm; // etc.
}
Не запуталось ли здесь распределение памяти Java?Похоже, что переменная EmployeeRow и ArrayList совместно используют одно и то же пространство памяти - очень своеобразно.Спасибо, ребята