Java writeObject正在写入空的ArrayList

Java writeObject正在写入空的ArrayList,java,arraylist,Java,Arraylist,我无法将自定义类的ArrayList写入文件。我正在使用 public static void SaveEmployees() throws FileNotFoundException, IOException{ ObjectOutputStream save = new ObjectOutputStream(new FileOutputStream("magicscheduleEmp.sav"); save.writeObject(employeeList); save

我无法将自定义类的
ArrayList
写入文件。我正在使用

public static void SaveEmployees() throws FileNotFoundException, IOException{
    ObjectOutputStream save = new ObjectOutputStream(new FileOutputStream("magicscheduleEmp.sav");
    save.writeObject(employeeList);
    save.close();
}
其中,
employeeList
在main方法中声明并初始化为
Employees
(我的类)的
ArrayList
。我已经明确地向
employeeList
添加了对象,但是调用
SaveEmployees
会向文件写入一个空的
ArrayList
Employee
类是可序列化的

我做错了什么

编辑:此处初始化employeeList(在主方法中)


我有一个按钮,它打印employeeList的内容,并显示列表在保存前已填充。可能是调用SaveEmployees有问题?

告诉我们如何初始化和填充
employeeList
。在您的示例中,它必须是一个静态字段。在不了解arraylist的情况下,我只能建议您单独编写每个元素,如本示例所示:如果您使用
arraylist
来支持
列表employeeList
,并且您确信
Employee
类实现了
可序列化
,然后
employeeList
为空。您必须提供更多代码。我尝试了一个SSCCE,写和读的作品很好地涵盖了你在这里暴露的东西。Employee类可序列化,employeeList为静态。是否确定文件为空?您是否尝试过对其进行反序列化并打印结果?您的代码似乎没有问题。也许您可以尝试使用
缓冲输出流
来包装
文件输出流
    public static ArrayList<Employee> employeeList = new ArrayList<>();
    if(MainUI.addempcheck == true){
        Employee newEmployee = new Employee(LastName.getText(), FirstName.getText());
        newEmployee.position = EmpType.getSelectedItem().toString();
        MainUI.employeeList.add(newEmployee);
        MainUI.listModel.addElement(newEmployee.writeName().toString());
    }
    try {
        MainUI.SaveEmployees();
    } catch (FileNotFoundException ex) {
        Logger.getLogger(NewEmployeeUI.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(NewEmployeeUI.class.getName()).log(Level.SEVERE, null, ex);
    }
    this.dispose();