gpt4 book ai didi

java - 如何迭代对象的 ArrayList 并在迭代时访问该对象所属类的方法?

转载 作者:行者123 更新时间:2023-12-01 11:15:45 25 4
gpt4 key购买 nike

我有课 Employee该类中的方法为 getName()它返回员工的姓名。每个员工都有一些属性(姓名、出生日期、职称、薪水),我将它们存储在 ArrayList 中。

现在我想写一个方法deleteEmployee(String, ArrayList<Employee>)它将比较作为参数给出的字符串与员工姓名,如果找到任何匹配项,它将删除该/那些员工的全部详细信息我已尝试如下,但出现错误并且我不知道如何解决...

 public void deleteEmployee (String str,ArrayList <Employee> arr)
{
Employee obj2;

for (int i = 0; i < arr.size(); i++)
{
if(str.equalsIgnoreCase(arr.get(obj2[i].getName())))
arr.remove(obj2[i]);
break;
}
}

最佳答案

您可能遇到 ConcurrentModificationException 或类似的情况。这是因为除了使用迭代器之外,您无法修改正在迭代的数组

你应该尝试这样的事情

Iterator<Employee> it = arr.iterator();
Employee currentEmployee = null;
while(it.hasNext()){
currentEmployee = it.next();
if(currentEmployee.getName().equals(obj2.getName()){
it.remove();
}
}

为了帮助解决您将来的问题,请同时发布您的错误和堆栈跟踪。

关于java - 如何迭代对象的 ArrayList 并在迭代时访问该对象所属类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31836081/

25 4 0