У меня есть класс под названием Техник
public class Technician {
private String empLName;
private String empFName;
private int empId;
//I skipped all setters and getters
}
В другом классе я получаю имена всех техников и загружаю их в список массивов.
Technician empl = new Technician();
ArrayList <Technician> employees = new ArrayList<Technician>();
//...skip code related to database
// rs is ResultSet
while (rs.next()){
empl.setEmpFName(rs.getString("EMP_LNAME"));
empl.setEmpLName(rs.getString("EMP_FNAME"));
empl.setEmpId(rs.getInt("EMP_ID"));
employees.add(empl);
}
Когда я отлаживаю, я вижу правильные значения, извлекаемые из базы данных.
На первой итерации цикла while мой объект empl получает значение
первый сотрудник в базе данных и хранится в сотрудниках ArrayList.
На второй итерации первый объект в сотрудниках ArrayList перезаписывается значением второго сотрудника. Таким образом, в моем ArrayList есть два сотрудника с одинаковыми фамилиями и именами.
На третьей итерации, той же истории, два сотрудника в ArrayList перезаписываются
Значение третьего сотрудника из базы данных.
Буду признателен, если будут какие-либо предложения, как исправить мой код.
Спасибо,