내가 모든 기술자의 이름을 검색하고 배열 목록에로드 다른 클래스에서 클래스라는 기술자의 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 내가 할 수만 있다면 완벽하게 * 깨끗한 코드를 게시 할 수 있습니다! –