使用Iterator从ArrayList中移除。不会给出错误,但不会删除

时间:2019-01-28 15:47:46

标签: java button javafx arraylist iterator

我的代码有麻烦。 此按钮delete旨在从ArrayList Employee中删除类型为emp的对象。该程序在TextField delUsername中接收来自用户的输入,该输入将是必须删除的Employee的用户名。 getUsernameUser扩展的类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;
}

0 个答案:

没有答案