我的代码有麻烦。
此按钮delete
旨在从ArrayList Employee
中删除类型为emp
的对象。该程序在TextField
delUsername
中接收来自用户的输入,该输入将是必须删除的Employee的用户名。 getUsername
是User
扩展的类Employee
的吸气方法。
delete.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent arg0) {
for(Employee x : rw.readEmployee()){
Iterator itr = rw.readEmployee().iterator();
while(itr.hasNext()){
Employee e = (Employee) itr.next();
if(delUsername.getText().equals(x.getUsername())){
itr.remove();
}
}
(new AdminView(admin)).show(st);
st.show();
}
}});
编译器将运行代码,并且一切将正常运行,而不会出现错误。但是,该元素不会被删除。 我该如何工作?
private File fUser;
private ArrayList<Employee> emp
public ArrayList<Employee> readEmployee() {
try {
FileInputStream fis = new FileInputStream(fUser);
ObjectInputStream ois = new ObjectInputStream(fis);
emp = (ArrayList<Employee>) ois.readObject();
ois.close();
} catch (FileNotFoundException e) {
System.err.println("File not Found!!!");
} catch (ClassNotFoundException e) {
System.err.println("Class not Found!!!");
} catch (IOException e) {
System.err.println("File not accessable!!!");
}
return emp;
}