У меня есть класс с именем ТехникаArrayList с объектами не имеет значение
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 перезаписываются значением значения третьего сотрудника из базы данных.
Буду признателен, если есть какие-либо рекомендации по исправлению кода. Спасибо,
+2, если бы мог, для публикации совершенно * чистый * код! –