【发布时间】:2015-06-24 15:27:38
【问题描述】:
我在 Company 类中有一个制作方法,并在 PayrollApp 类中调用它。首先!它工作正常,但每当我第二次调用该方法时,它都会抛出 indexoutofboundException。我在控制台上运行这个应用程序而不使用数据库。我想将所有员工对象添加到该数组列表中。
public class Company {
private ArrayList<Employee> _employeeList = new ArrayList<Employee>();
public void setAddEmployee(Employee c){
_employeeList.add(c);
}
}
Employee emp = new Employee(_name, _empId);
emp.setNumOfHoursPerWeek(_hoursPerWeek);
emp.setHourlySalary(_hourlySalary);
emp.setManagerName(_manager);
Company com = new Company();
com.setAddEmployee(emp);
【问题讨论】:
-
发生在哪一行?您是否在 Google 上搜索过异常以努力了解它是什么以及为什么会发生?您是否使用调试器单步执行您的代码?
-
要添加到
ArrayList,您只需调用_employeeList.add(c);不需要索引。其中似乎从未被初始化过。 -
可能是因为您正在为索引计数器使用
static int字段。将其保持在进行处理的方法的范围内。
标签: java arrays arraylist collections